![](/img/trans.png)
[英]Convert String with Dot or Comma as decimal separator to number in JavaScript
[英]How to convert floating point decimal separator from dot to comma in Javascript
我已經嘗試了以下方法:
discval = 2.833423
discval = discval.toFixed(2).toString().replace("." , ",");
discval = parseFloat(discval);
輸出是2而不是2,83
任何想法?
parseFloat("2,83")
將返回2
,因為,
沒有被識別為小數分隔,而.
是。
如果要將數字四舍五入到小數點后parseFloat(discval.toFixed(2))
使用parseFloat(discval.toFixed(2))
或Math.round(discval * 100) / 100;
如果出於顯示目的需要此突出物,則將其保留為帶逗號的字符串。 您也可以使用Number.toLocaleString()
格式化數字以用於顯示。 但是您將無法在進一步的計算中使用它。
BTW .toFixed()
返回一個字符串,因此此后無需使用.toString()
。
來自https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/parseFloat
parseFloat解析其參數(字符串),並返回浮點數。 如果遇到除符號(+或-),數字(0-9),小數點或指數以外的字符,它將返回到該點的值,並忽略該字符和所有后續字符。 允許前導和尾隨空格。
如果第一個字符不能轉換為數字,則parseFloat返回NaN。
,
不是預期的字符,因此數字會被截斷。
無法更改Javascript中浮點數的表示形式,如果要用逗號而不是點分隔小數,則需要將數字視為字符串。
這應該做。
var string =''+ discval; 與string.replace(, ' ''。');
但是請注意,結果是字符串,而不是浮點數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.