您现在的位置是:主页 > news > 利用虚拟主机建设网站的实验报告/石家庄疫情最新情况

利用虚拟主机建设网站的实验报告/石家庄疫情最新情况

admin2025/4/28 16:32:51news

简介利用虚拟主机建设网站的实验报告,石家庄疫情最新情况,做网站浏览器必须用xp系统吗,龙华做网站联系电话需求: 数据库里边存储的金额采用精确到分 的整数存储,原因是浮点数精度会丢失用户界面需要转换为以元 为单位的数值显示需要做分到元的转换,需要省略小数部分尾部的0,例如:9.00 只显示 9当然从高考数学严谨的角度看&a…

利用虚拟主机建设网站的实验报告,石家庄疫情最新情况,做网站浏览器必须用xp系统吗,龙华做网站联系电话需求: 数据库里边存储的金额采用精确到分 的整数存储,原因是浮点数精度会丢失用户界面需要转换为以元 为单位的数值显示需要做分到元的转换,需要省略小数部分尾部的0,例如:9.00 只显示 9当然从高考数学严谨的角度看&a…

需求:

  • 数据库里边存储的金额采用精确到 的整数存储,原因是浮点数精度会丢失
  • 用户界面需要转换为以 为单位的数值显示
  • 需要做分到元的转换,需要省略小数部分尾部的0,例如:9.00 只显示 9
  • 当然从高考数学严谨的角度看,这个需求是不合理的,保留小数点表示的数值的精确度,当然battle不过产品就只能按人家的需求来。

刚开始,思路的是通过整除10取余的方式判断尾部是否有小数,再进行转换,处理起来比较繁琐;

后来,又发现可以使用lodash.trimEnd方法去除尾部的.0,发现整数的0也会被去掉,出现显示bug

最后,发现一个比较简单的方式,js浮点数转为字符串后,小数点部分会自动处理掉,就满足了需求了

方法实现

/*** 金额转换:分 转 元* @param {*} money* @returns*/
function format_money(money) {return money * 0.01 + '';
}

测试

// 元:900 -> 9
console.log(format_money(900));
// 9// 角:10 -> 0.1
console.log(format_money(10));
// 0.1// 分:1 -> 0.01
console.log(format_money(1));
// 0.01

举一反三

如果需求是输入不是固定的小数位呢,也要求实现这样的效果,可以根据要求是否使用保留小数位,

总之,原理就是:浮点数转字符串

/*** 去除浮点数尾部的0* @param {Number} number* @returns*/
function format_number(number){return number + '';
}console.log(format_number(9.00000));
// 9console.log(format_number(9.10000));
// 9.1console.log(format_number(9.02000));
// 9.02console.log(format_number(9.00300));
// 9.003