在javascript中转换数字产生NAN

Nav*_*dar -1 javascript

我有一个文本框,其结果是这样的比利时数字格式

<input type="text" name="valeurCatalogue" kendo-numeric-text-box="" k-culture='"fr-BE"' k-spinners="{{false}}" ng-disabled="isValueCatalogDisabled" ng-model="tarifForm.Vehicle.valeurCatalogue" />
Run Code Online (Sandbox Code Playgroud)

将值设为 1525,8 后,该值将转换为 1.525,80,这是正确的。

现在,如果我申请,Number(1525,8)我会得到 NAN。如何在 javascript 中获取数字?

请注意,在调试模式下,我将值 1525,8 视为字符串。

Alx*_*ndr 5

这里的问题是 javascript 使用美国的数字表达方式(就像我遇到的大多数编程语言一样)。所以,1,5不是你期望的一个半,而是一个有效的数字。因此,当您尝试解析它时,您会得到NaN(Not a Number)。在 javascript 中,写入所述数字的正确方法是1.5. 如果你有1525,8一个简单的方法来做到这一点,那就是用这样的点替换所有的逗号:

const numStr = '1525,8';
const replaced = numStr.replace(/,/, '.');
const num = Number(replaced);
Run Code Online (Sandbox Code Playgroud)

但是,如果您的号码是1.525,8您需要先删除点 ( str.replace(/\./g, '');)。