相关疑难解决方法(0)

如何在JavaScript中将数字格式化为美元货币字符串?

我想用JavaScript格式化价格.
我想要一个函数,它接受一个float参数并返回如下string格式:

"$ 2,500.00"
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?

javascript formatting currency

1711
推荐指数
41
解决办法
172万
查看次数

react-native .toLocaleString()不适用于android

我正在使用.toLocaleString()react-native来获取我的数字输出.所有关于IOS的工作但似乎不适用于Android.这是正常的还是?我需要使用小数函数吗?

在此输入图像描述

react-native

15
推荐指数
5
解决办法
4393
查看次数

toLocaleString()在不同浏览器中的行为不一致

我正在开展一个项目,我必须处理很多日期和时间.服务器端技术是ASP.Net,在客户端我使用jQuery和jQuery Week Calendar(一个jQuery插件).

所以这里描述的问题是,我从2012-11-13T04:45:00.00GMT格式的服务器接收数据时间.

现在在客户端,我希望将此日期时间转换为区域设置日期时间格式,就像IST,EST,PKT等一样.

为实现这一点,我使用的是JavaScript方法toLocaleString().这仅适用于Chrome,在其他浏览器中工作不一致.

以下是不同浏览器的输出:

谷歌浏览器(工作正常):

呼叫:

new Date ("2012-11-13T04:45:00.00").toLocaleString();
Run Code Online (Sandbox Code Playgroud)

输出:

Tue Nov 13 2012 10:15:00 GMT+0530 (India Standard Time)
Run Code Online (Sandbox Code Playgroud)

火狐浏览器:

呼叫:

new Date ("2012-11-13T04:45:00.00").toLocaleString();
Run Code Online (Sandbox Code Playgroud)

输出:

Tuesday, November 13, 2012 4:45:00 AM
Run Code Online (Sandbox Code Playgroud)

苹果浏览器:

呼叫:

new Date ("2012-11-13T04:45:00.00").toLocaleString();
Run Code Online (Sandbox Code Playgroud)

输出:

Invalid Date
Run Code Online (Sandbox Code Playgroud)

IE浏览器:

呼叫:

new Date ("2012-11-13T04:45:00.00").toLocaleString();
Run Code Online (Sandbox Code Playgroud)

输出:

Tuesday, November 13, 2012 4:45:00 AM
Run Code Online (Sandbox Code Playgroud)

目前这些是我测试过的浏览器.

这是问题:

我需要一种方法将数据时间(具有这样的格式2012-11-13T04:45:00.00)转换为区域设置日期和时间,无论哪个浏览器客户端正在使用.

javascript jquery datetime multiple-browsers

11
推荐指数
3
解决办法
2万
查看次数

使用 Number.toLocaleString() 的货币格式差异

我一直在寻找到现场了解数字格式的javascript和发现Number.toLocaleString通过扩展 Intl.NumberFormat似乎是这个问题解决好。

特别是我更喜欢在已经实现的特定于语言环境的格式的抽象之上进行构建,而不是重新发明轮子并为已经解决的问题提出另一种解决方案。


所以我调用Number.toLocaleString了一些不同的 javascript 环境,发现货币格式似乎发生了变化:

(5).toLocaleString('fr-CH', {currency: 'CHF', style: 'currency'});
// Node v10.15.1:  'CHF 5.00'
// Node v12.1.0:   '5.00 CHF'
// Firefox 66.0.2: '5.00 CHF'
// Chrome 73.0.…:  '5.00 CHF'
// Safari 12.0.3:  '5.00 CHF'
// IE 11:          '5.00 fr.'
Run Code Online (Sandbox Code Playgroud)
  • IE 11 与其他版本不同,但考虑到它的年龄,我并不感到惊讶。
  • 让我感到惊讶的是CHFin的格式fr-CH似乎在节点版本1012.
  • 为了进行比较,我查看了fr_CH的 glibc LC_MONETARY 设置,发现它似乎CHF至少在 1997 年左右之前放置了数量。这使得CHF对于大多数当前浏览器似乎不同的位置尤其令人困惑。

我想知道和理解:

  1. 为什么CHF在这些情况下的位置不同?
    • 我知道这取决于可用的系统区域设置或浏览器。但是节点版本之间的变化对我来说似乎表明了更新和自愿的变化。
  2. 是否有正确的方法来放置CHF …

javascript unicode localization currency icu

3
推荐指数
1
解决办法
730
查看次数