如何将字符串解析为整数并保留小数位(如果它们为零)?

LT8*_*T86 5 javascript math

我有这些字符串:“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 不同的方法,因为它会自动截掉尾随零。

我需要将它们保留为整数,因为它们需要与其他整数相乘并保留两位小数。我认为这会相当简单,但经过大量搜索后,我似乎无法找到我所需要的解决方案。

谢谢!

JLR*_*she 5

你的前提是有缺陷的。如果您解析一个数字,则会将其转换为其数字表示形式,根据定义,该数字表示形式不包含尾随零。

另一个缺陷是,您似乎认为可以将两个数字相乘并保留与原始数字相同的小数位数。这几乎没有道理。

听起来这可能是一个 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)