我得到了java脚本数字格式的要求,如下所示
我需要一个函数,它有2个参数,如
var number = 1000;
var format = #,###.0; //or #,### ;
function ConvertNumber(number, format){
// this function need to return 1,000.0 if format is #,###.0
// this function need to return 1,000 if format is #,###
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以拥有这种功能吗?非常感谢你的帮助
检查这个功能...
var number = 1000; // int or float or string
var format = '#,###.0'; // you can put any format that you want... only string
function ConvertNumber(number, format){
var tail=format.lastIndexOf('.');number=number.toString();
tail=tail>-1?format.substr(tail):'';
if(tail.length>0){if(tail.charAt(1)=='#'){
tail=number.substr(number.lastIndexOf('.'),tail.length);
}}
number=number.replace(/\..*|[^0-9]/g,'').split('');
format=format.replace(/\..*/g,'').split('');
for(var i=format.length-1;i>-1;i--){
if(format[i]=='#'){format[i]=number.pop()}
}
return number.join('')+format.join('')+tail;
}
// Examples
// ConvertNumber(1234,'#,###') === 1,234
// ConvertNumber(1234,'#,###.00') === 1,234.00
// ConvertNumber(1234,',###.00') === 1,234.00
// ConvertNumber(1234.4575,',###.##') === 1,234.45
// ConvertNumber(1234567890.4575,',###,###,###.##') === 1,234,567,890.45
// ConvertNumber(123.4575,',#,#.##') === 1,2,3.45
// ConvertNumber(123456.4575,'-#-#.##') === 1234-5-6.45
// ConvertNumber(1234567.4575,' ## ###.##') === 12 34 567.45
Run Code Online (Sandbox Code Playgroud)
希望这个功能对您和遇到同样问题的人非常有帮助...祝您好运...
| 归档时间: |
|
| 查看次数: |
3747 次 |
| 最近记录: |