如何使用JavaScript编写一个分数转换函数

发布时间:2023-05-19

一、什么是分数转换函数

分数转换函数是指将一个普通数字转换为分数形式的函数。例如,将 0.75 转换为 3/4。 该函数在实际的编程中经常用到,特别是在涉及到对数学运算结果的精度要求比较高的情况下。

二、分数转换函数的实现思路

实现分数转换函数的思路可以分为以下几步:

  1. 将数字分为整数部分和小数部分
  2. 将小数部分化为真分数,即分子比分母小
  3. 分数化简,即将分子和分母都除以它们的最大公约数
  4. 将整数部分和化简后的分数部分组合成一个最简分数

三、代码示例

function fractionConvert(num) {
 let intPart = Math.floor(num);
 let floatPart = num - intPart;
 // 小数化为真分数
 let numerator = floatPart * 100;
 let denominator = 100;
 while (numerator % 10 === 0) {
   numerator /= 10;
   denominator /= 10;
 }
 // 分数化简
 let gcd = function(a, b) {
   return b === 0 ? a : gcd(b, a%b);
 }
 let common = gcd(numerator, denominator);
 numerator /= common;
 denominator /= common;
 // 组合
 let result = '';
 if (intPart !== 0) {
   result += intPart + ' ';
 }
 result += numerator + '/' + denominator;
 return result;
}
// 示例
console.log(fractionConvert(0.75)); // 3/4
console.log(fractionConvert(2.5)); // 2 1/2
console.log(fractionConvert(1.2)); // 6/5