Javascript 德国货币的LocalString方法?
应为->“1.223.578,00”,但输出为:1.223.578(小数位缺失) 怎么了Javascript 德国货币的LocalString方法?,javascript,jquery,Javascript,Jquery,应为->“1.223.578,00”,但输出为:1.223.578(小数位缺失) 怎么了 var n = (1223578.00).toLocaleString('de-DE'); var-amount='{{currency1}}}'; 这是SQL中填写的表单,currency1=1223578.00 如何使用此占位符 将minimumFractionDigits属性设置为所需的位数 <script type="text/javascript">var amount= '{{c
var n = (1223578.00).toLocaleString('de-DE');
var-amount='{{currency1}}}';
这是SQL中填写的表单,currency1=1223578.00
如何使用此占位符 将minimumFractionDigits属性设置为所需的位数
<script type="text/javascript">var amount= '{{currency1}}';</script>
产量:1.223.578,00
上述功能可能无法在所有浏览器上运行。要确保所有浏览器上的结果相同,可以按如下方式手动创建字符串:
修改自:
示例
$().ready(函数()){
$('#convertbn')。单击(函数(){
ConvertNumber();
});
});
函数号(){
var输入=$('#in').val();
如果($.isNumeric(输入)){
$('out').val(DelocaleString(+input','3,2));
}否则{
$('out').val('Input不是数字!');
}
}
函数字符串(x,sep,grp,dec){
//加小数
变量y=x.toFixed(十二月);
//带小数
var x_integer=y.split('.')[0];
var x_分数=y.split('.')[1];
var x_fractionString=“”;
如果(12月>0日){
x_分数字符串=','+x_分数;
}
变量sx=(''+x_整数).split('.'),
s=“”,
i、 j;
sep | |(sep='')//默认分隔符
grp | | grp==0 | |(grp=3);//默认分组
i=sx[0]。长度;
而(i>grp){
j=i-grp;
s=sep+sx[0],切片(j,i)+s;
i=j;
}
s=sx[0]。切片(0,i)+s;
sx[0]=s;
返回sx.join('.')+x_fractionString
}
输入
输出
换算数
数字没有有效数字。这是你的问题。看看文档中的选项:在Chrome 42.0和IE 11中测试,答案不错,虽然Safari上似乎不支持它,谢谢:-)它与Safari不起作用并不重要,因为我使用它作为工具“wkhtmltopdf”@Brino编辑我的问题,因为我不使用数字,我使用wkhtmltopdf的占位符也应该起同样的作用。如果是字符串,只需先使用number()将其转换为数字,然后应用相同的公式即可
var n = (1223578.00).toLocaleString('de-DE',{ minimumFractionDigits: 2 });
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
}