JavaScript 小数转分数

Posted kuku_zhongzi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 小数转分数相关的知识,希望对你有一定的参考价值。

javascript 小数转分数

//精度为小数两位,提高精度可把 toFixed(2)和100同时修改;
function decimalsToFractional(decimals) 
	const formatDecimals = decimals.toFixed(2)
	let denominator = 100 //初始化分母
	let numerator = formatDecimals * 100 //初始化分子
	let bigger = 0

	function recursion() 
		bigger = denominator > numerator ? denominator : numerator
		for (let i = bigger; i > 1; i--) 
			if (Number.isInteger(numerator / i) && Number.isInteger(denominator / i)) 
				numerator = numerator / i
				denominator = denominator / i
				recursion()
			
		
	
	recursion()
	if (decimals % 1 === 0)  // 入参为整数时 直接返回
		return `$decimals`
	 else if (numerator / denominator > 1)   // 分子大于分母 
		return `$parseInt(numerator / denominator) + $numerator % denominator / $denominator`
	 else  // 分子小于分母
		return `$numerator / $denominator`
	

console.log(this.decimalsToFractional(1.5))    // 1/2
console.log(this.decimalsToFractional(20))     // 20
console.log(this.decimalsToFractional(5/2))    // 2+1/2

以上是关于JavaScript 小数转分数的主要内容,如果未能解决你的问题,请参考以下文章

小数怎么转化分数?

2021-10-20:分数到小数。给定两个整数,分别表示分数的分子numerator和分母denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。输入: num

怎么把小数化成分数的方法

小数怎么化成分数

JavaScript 小数转分数

JavaScript 小数转分数