gpt4 book ai didi

javascript - 德国货币的 LocalString 方法?

转载 作者:搜寻专家 更新时间:2023-11-01 05:30:40 24 4
gpt4 key购买 nike

var n = (1223578.00).toLocaleString('de-DE');

应该是 -> "1.223.578,00",但输出是:1.223.578(小数点丢失)

怎么了?

<script type="text/javascript">var amount= '{{currency1}}';</script>

这是来自 SQL 的填充表单,currency1 = 1223578.00

我如何使用这个占位符?

最佳答案

将 minimumFractionDigits 属性设置为所需的位数。

var n = (1223578.00).toLocaleString('de-DE',{ minimumFractionDigits: 2 });

产生:1.223.578,00

上述功能可能不适用于所有浏览器。为确保在所有浏览器上的结果相同,您可以手动创建字符串,如下所示:

修改自:https://stackoverflow.com/a/16157942/4347337

function DelocaleString(x, sep, grp, dec) {
//add decimals
var y = x.toFixed(dec);
//strip decimals
var x_integer = y.split('.')[0];
var x_fraction = y.split('.')[1];
var x_fractionString = "";
if (dec > 0) {
x_fractionString = ',' + x_fraction;
}
var sx = ('' + x_integer).split('.'),
s = '',
i, j;
sep || (sep = ' '); // default seperator
grp || grp === 0 || (grp = 3); // default grouping
i = sx[0].length;
while (i > grp) {
j = i - grp;
s = sep + sx[0].slice(j, i) + s;
i = j;
}
s = sx[0].slice(0, i) + s;
sx[0] = s;
return sx.join('.') + x_fractionString
}

示例

$().ready(function() {
$('#convertBtn').click(function() {
ConvertNumber();
});
});

function ConvertNumber() {
var input = $('#in').val();
if ($.isNumeric(input)) {
$('#out').val(DelocaleString(+input, '.', 3, 2));
} else {
$('#out').val('Input is not a number!');
}
}

function DelocaleString(x, sep, grp, dec) {
//add decimals
var y = x.toFixed(dec);
//strip decimals
var x_integer = y.split('.')[0];
var x_fraction = y.split('.')[1];
var x_fractionString = "";
if (dec > 0) {
x_fractionString = ',' + x_fraction;
}
var sx = ('' + x_integer).split('.'),
s = '',
i, j;
sep || (sep = ' '); // default seperator
grp || grp === 0 || (grp = 3); // default grouping
i = sx[0].length;
while (i > grp) {
j = i - grp;
s = sep + sx[0].slice(j, i) + s;
i = j;
}
s = sx[0].slice(0, i) + s;
sx[0] = s;
return sx.join('.') + x_fractionString
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

<form class="form-horizontal" style="max-width:350px;">
<div class="form-group">
<label for="in" class="col-sm-2 control-label">Input</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="in" placeholder="Allowable formats: 123.456789, 123456789">
</div>
</div>
<div class="form-group">
<label for="out" class="col-sm-2 control-label">Output</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="out" placeholder="Formatted Number" readonly>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button class="btn btn-default" id="convertBtn">Convert Number</button>
</div>
</div>
</form>

关于javascript - 德国货币的 LocalString 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30054107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com