Thinkphp中的大数值中英文互译,另附JS版本的number_format函数
/**
* number_format
* @param number 传进来的数,
* @param bit 保留的小数位,默认保留两位小数,
* @param sign 为整数位间隔符号,默认为空格
* @param gapnum 为整数位每几位间隔,默认为3位一隔
* @type arguments的作用:arguments[0] == number(之一)
*/
function number_format(number,bit,sign,gapnum){
//设置接收参数的默认值
var bit = arguments[1] ? arguments[1] : 2 ;
var sign = arguments[2] ? arguments[2] : ' ' ;
var gapnum = arguments[3] ? arguments[3] : 3 ;
var str = '' ;
number = number.toFixed(bit);//格式化
realnum = number.split('.')[0];//整数位(使用小数点分割整数和小数部分)
decimal = number.split('.')[1];//小数位
realnumarr = realnum.split('');//将整数位逐位放进数组 ["1", "2", "3", "4", "5", "6"]
//把整数部分从右往左拼接,每bit位添加一个sign符号
for(var i=1;i<=realnumarr.length;i++){
str = realnumarr[realnumarr.length-i] + str ;
if(i%gapnum == 0){
str = sign+str;//每隔gapnum位前面加指定符号
}
}
//当遇到 gapnum 的倍数的时候,会出现比如 ",123",这种情况,所以要去掉最前面的 sign
str = (realnum.length%gapnum==0) ? str.substr(1) : str;
//重新拼接实数部分和小数位
realnum = str+'.'+decimal;
return realnum;
}
if(data['info']['volume']){
<?php if(LANG_SET=='zh-cn'){ ?>
if(data['info']['volume']>10000){
data['info']['volume']=(data['info']['volume']/10000).toFixed(2)+"万"
}
if(data['info']['volume']>100000000){
data['info']['volume']=(data['info']['volume']/100000000).toFixed(2)+"亿"
}
<?php }else{ ?>
if(data['info']['volume']>1000000000000){
data['info']['volume']=number_format(data['info']['volume']/1000000000000,2,',')+" billion"
}else if(data['info']['volume']>1000000){
data['info']['volume']=number_format(data['info']['volume']/1000000,2,',')+" million"
}else{
data['info']['volume']=number_format(data['info']['volume'],2,',');
}
console.log(data['info']['volume']);
<?php } ?>
$("#market_volume").html(data['info']['volume']);
相关文章