我有一个函数,它接受一个双精度值并将其作为带有千位分隔符的字符串返回。你可以在这里看到它:c++:用逗号格式化数字?
#include <iomanip>
#include <locale>
template<class T>
std::string FormatWithCommas(T value)
{
std::stringstream ss;
ss.imbue(std::locale(""));
ss << std::fixed << value;
return ss.str();
}
Run Code Online (Sandbox Code Playgroud)
现在我希望能够将其格式化为带有美元符号的货币。具体来说,如果给定 20500 的两倍,我想得到一个字符串,例如“$20,500”。
在负数的情况下,前置美元符号不起作用,因为我需要“-$5,000”而不是“$-5,000”。
我正在使用 RubyMoney / money-rails gem,我对它非常满意。
现在我需要为货币列添加更高的精度,所以我定义了一个新的货币
:subunit => "Subcent",
:subunit_to_unit => 10000,
Run Code Online (Sandbox Code Playgroud)
有没有办法使用格式助手 humanized_money_with_symbol 但逗号后只显示 2 位数字?
示例:10,0044 欧元(货币小数:100044 货币:欧元)应显示为 10,00 欧元
我正在尝试制作一个货币转换器,可以在更改时在几种不同的货币之间进行转换。它使用一些预先确定的汇率。输入框显示,但似乎没有一个 javascript 工作。有什么帮助吗?
使用更新的代码进行编辑。仍然没有转换任何东西。
HTML 正文:
<body onload="init()">
<input type="text" id="GBP" size="10" value="0" onchange="gbp()"/>
<label for="GBP"> GBP </label>
</br>
<input type="text" id="USD" size="10" value="0" onchange="usd()" />
<label for="USD"> USD </label>
</br>
<input type="text" id="EUR" size="10" value="0" onchange="eur()" />
<label for="EUR"> EUR </label>
</br>
<input type="text" id="CAD" size="10" value="0" onchange="cad()" />
<label for="CAD"> CAD </label>
</br>
<input type="text" id="AUD" size="10" value="0" onchange="aud()" />
<label for="AUD"> AUD </label>
</body>
Run Code Online (Sandbox Code Playgroud)
Javascript代码:
var gbp, usd, eur, cad, aud;
function init()
{
gbp = document.getElementById("GBP"); …Run Code Online (Sandbox Code Playgroud) 在lua中,我想格式化一个整数(或浮点数),以用空格(或逗号,如美国)分隔每三个小数位,因此例如数字120000010将显示为120 000 010或120,000,010
我已经找到了这个,但是有没有办法使用 string.format 或任何其他不涉及自定义实现的方法来实现此目的?
我正在使用这个功能
\n\nYii::$app->formatter->asCurrency(12321.00, 'EUR');\nRun Code Online (Sandbox Code Playgroud)\n\n结果是 12 321,00 \xe2\x82\xac。\n但我希望它显示 12 321 \xe2\x82\xac 如果小数为 00...
\n如何在Magento2的.phtml文件中使用货币符号编写用于打印购物车总数的代码?
我有一个数据框:pd.DataFrame({"Amount":[19000000, 9873200, 823449242]}),我需要将数字转换为以百万计的货币($)。即 $19.00MM、$9.88MM 和 $823.45MM。
有谁知道一个快速的方法来做到这一点?
谢谢!
我有一个字符串,"$4,102.33"需要转换为double.这将永远是美国.我唯一的办法是去掉了一个黑客$和,,然后转换为加倍.似乎NSFormatter只允许我转换为货币而不是转换货币.是否有内置功能或更好的方式除了删除$和,?在将其转换为双倍之前?
我想知道如何有效地从价格中删除小数零,同时保留 2 位小数(如果有)
因此,如果一个价格是,135.00它应该成为135。
然而,如果价格是,135.30则应保留两位小数。
如果是价格,135.38则可以保留小数。
这就是我现在所拥有的:
const currency = 'EUR';
const language = 'NL';
var localePrice = (amount) => {
const options = {
style: 'currency',
currency: currency
};
return amount.toLocaleString(language, options);
}
Run Code Online (Sandbox Code Playgroud)
现在我可以使用正则表达式或类似的东西,但我希望有一种更简单的方法来完成此任务。
我制作了一个 JSFiddle 来说明我的问题,这使得使用代码变得很容易。
我一直在寻找到现场了解数字格式的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)
CHFin的格式fr-CH似乎在节点版本10和12.CHF至少在 1997 年左右之前放置了数量。这使得CHF对于大多数当前浏览器似乎不同的位置尤其令人困惑。我想知道和理解:
CHF在这些情况下的位置不同?
CHF …currency ×10
javascript ×3
numbers ×3
c++ ×1
dollar-sign ×1
format ×1
formatter ×1
formatting ×1
html ×1
icu ×1
locale ×1
localization ×1
lua ×1
magento ×1
magento2 ×1
nsformatter ×1
pandas ×1
php ×1
python ×1
string ×1
swift ×1
symbols ×1
unicode ×1
yii2 ×1