我有这些字符串:“59.50”和“30.00”
我需要做的是将它们转换为整数,但保留末尾的尾随零以有效返回:
59.50
30.00
Run Code Online (Sandbox Code Playgroud)
我试过了:
Math.round(59.50 * 1000) / 1000
Math.round(30.00 * 1000) / 1000
Run Code Online (Sandbox Code Playgroud)
但最终得到
59.5
30
Run Code Online (Sandbox Code Playgroud)
我假设我需要使用与 Math.round 不同的方法,因为它会自动截掉尾随零。
我需要将它们保留为整数,因为它们需要与其他整数相乘并保留两位小数。我认为这会相当简单,但经过大量搜索后,我似乎无法找到我所需要的解决方案。
谢谢!
你的前提是有缺陷的。如果您解析一个数字,则会将其转换为其数字表示形式,根据定义,该数字表示形式不包含尾随零。
另一个缺陷是,您似乎认为可以将两个数字相乘并保留与原始数字相同的小数位数。这几乎没有道理。
听起来这可能是一个 XY 问题,而您真正想做的只是结果中保留两位小数。
如果是这样,您可以使用.toFixed()
以下方法:
var num = parseFloat("59.50");
var num2 = parseFloat("12.33");
var num3 = num * num2
console.log(num3.toFixed(2)); // 733.64
Run Code Online (Sandbox Code Playgroud)