Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中将浮点数转换为2个十进制数_Javascript - Fatal编程技术网

在Javascript中将浮点数转换为2个十进制数

在Javascript中将浮点数转换为2个十进制数,javascript,Javascript,我试图在Javascript中将变量转换为2个小数点,如下所示: var num1 = 9.7000000000 var newNum1= Math.floor(parseFloat(num1) * 100) / 100; newNum1= +num1.toFixed(2); 然而,输出结果是9.69 我感谢任何帮助或建议 编辑:谢谢大家,我也试过了 但是,我在以后将其与算术函数一起使用时遇到了问题: if (weight < newNum1) 可以使用.toFixed2和一元加号

我试图在Javascript中将变量转换为2个小数点,如下所示:

var num1 = 9.7000000000

var newNum1= Math.floor(parseFloat(num1) * 100) / 100;
newNum1= +num1.toFixed(2);
然而,输出结果是9.69

我感谢任何帮助或建议

编辑:谢谢大家,我也试过了

但是,我在以后将其与算术函数一起使用时遇到了问题:

if (weight < newNum1)
可以使用.toFixed2和一元加号运算符将字符串转换回数字

const res = +num1.toFixed(2);//9.7
你试过固定吗

toFixed方法将数字转换为字符串,四舍五入到指定的小数位数

变量num1=9.700000000 var newNum1=num1.toFixed2
console.lognewNum1您可以使用toFixed方法

变量num1=9.700000000 var newNum1=num1.toFixed2;
console.lognewNum1 您可以使用以下代码段:

const round=n,decimals=0=>Number`${Math.round`${n}e${decimals}`}e-${decimals}`; console.loground9.70000000,2 如果您想将数字修改为2位小数,而不仅仅是显示格式,那么请使用以下解决方案。这里的数字实际上是在内部更改为一个新的数字

如果使用number.toFixed方法,则仅将数字显示为2位小数,但数字不会更改。toFixed用于格式化

//四舍五入至所需数量的设计位置 //@input{number}要舍入的数字 //{小数}小数位数 //@return{float}整数 函数编号RoundDecimalNum,小数{ 返回Math.roundnum*Math.pow10,小数/Math.pow10,小数 } //----测试---- 控制台.lognumberRoundDecimal9.700000000,2//9.7 控制台。lognumberRoundDecimal-0.024641163062896567,3//-0.025 控制台。lognumberRoundDecimal0.9993360575508052,3//0.999 控制台。日志号RoundDecimal1.0020739645577939,3//1.002 控制台。lognumberRoundDecimal0.999,0//1 控制台.lognumberRoundDecimal0.975,0//1 控制台。lognumberRoundDecimal0.975,1//1
console.lognumberRoundDecimal0.975,2//0.98num1已经是一个浮点数,所以parseFloat看起来好像什么都没有做。使用.toFixed2,比如num1.toFixed2,还有为什么9.7*100=969.9999999999可以参考这个答案吗?是否有方法将.toFixed2之后的值转换为可用于大于或小于等算术函数?谢谢!我已经尝试过.toFixed2,但后来在用于算术函数时遇到了问题,例如大于或小于值谢谢!我尝试过.toFixed2,但后来在用于算术函数时遇到了问题,例如大于或小于值您是否像我一样使用了一元加号运算符?这是完成这项工作的最短技巧。但速度是原来的两倍,因为它涉及到从数字到字符串再到数字的类型转换。谢谢!我尝试过.toFixed2,但后来在用于算术函数时遇到了问题,例如,大于或小于值。您可以共享该代码段吗?我包含了一个一元运算符,它成功了,谢谢@xMayank