一、什么是分数转换函数
分数转换函数是指将一个普通数字转换为分数形式的函数。例如,将 0.75 转换为 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