Sri*_*n G 1 javascript angular
如果我做:
var number = 35000.25; alert(number.toLocaleString("de-DE"));我会用35.000,25德语。
但我怎样才能将它转换回35000.25或者我想要类似的东西:
var str='35.000,25'; alert(str.toLocaleNumber("en-US"));所以,它可以给35,000.25.
JS可以吗?
以下函数将首先根据给定的区域设置构造一个 NumberFormat。然后它将尝试找到该语言的小数点分隔符。
最后,它将替换给定字符串中除小数点分隔符之外的所有分隔符,然后用默认点替换与区域设置相关的分隔符并将其转换为数字。
function convertNumber(num, locale) {
const { format } = new Intl.NumberFormat(locale);
const [, decimalSign] = /^0(.)1$/.exec(format(0.1));
return +num
.replace(new RegExp(`[^${decimalSign}\\d]`, 'g'), '')
.replace(decimalSign, '.');
}
// convertNumber('100,45', 'de-DE')
// -> 100.45
Run Code Online (Sandbox Code Playgroud)
请记住,这只是概念的快速证明,并且可能/将会因不遵循此处所做假设的更奇特的语言环境而失败(例如从左到右、没有奇怪的数字插入、没有空格、没有符号等) 。
不过你可以调整这个...
| 归档时间: |
|
| 查看次数: |
3781 次 |
| 最近记录: |