一、什麼是分數轉換函數
分數轉換函數是指將一個普通數字轉換為分數形式的函數。例如,將 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
原創文章,作者:VKEU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/133981.html
微信掃一掃
支付寶掃一掃