十进制javascript中的数字数据类型

十进制javascript中的数字数据类型,javascript,Javascript,读这个问题的时候听起来可能很愚蠢,但在我这边,我尝试了各种方法来解决这个问题 我有一个变量,比如说a:number。我正在做一些计算。计算结果为浮动结果,即123.453 当我使用parseFloat().toFixed(2)时,由于toFixed()返回字符串,它会给出一个错误消息,表示无法将字符串分配给数值数据类型 我只想将结果以两位小数分配给变量A您可以使用以下代码来解决您的问题: let a: number = 123.345; a = parseFloat(a.toFixed(2));

读这个问题的时候听起来可能很愚蠢,但在我这边,我尝试了各种方法来解决这个问题

我有一个变量,比如说a:number。我正在做一些计算。计算结果为浮动结果,即123.453

当我使用parseFloat().toFixed(2)时,由于toFixed()返回字符串,它会给出一个错误消息,表示无法将字符串分配给数值数据类型


我只想将结果以两位小数分配给变量A

您可以使用以下代码来解决您的问题:

let a: number = 123.345;
a = parseFloat(a.toFixed(2)); // Assigning without type errors
console.log(a); // 123.34
console.log(typeof a); // number

.toFixed
将数字转换为字符串。如果要将数字转换为数字,请使用:


parseFloat('123.345').toFixed(2)
?听起来像是在使用TypeScript或flowjs之类的类型系统。为什么不干脆
123.453.toFixed(2)
?听起来像是在做表示层操作。我建议将.toFixed移到实际需要它的位置,而不是在赋值中。为什么要将已知的浮点作为浮点进行解析?toFixed()返回一个字符串。问题是修剪并分配一个数字类型的变量(我想是typescript)
const fixedNumber = Math.round(123.453 * 100) / 100;