1. 取整 - 舍弃小数部分
double price = 100 / 3;
//舍弃当前变量的小数部分,结果为 33。返回值为 int 类型。
price.truncate();
//舍弃当前变量的小数部分,浮点数形式表示,结果为 33.0。返回值为 double。
price.truncateToDouble();
//舍弃当前变量的小数部分,结果为 33。返回值为 int 类型。
price.toInt();
//小数部分向上进位,结果为 34。返回值为 int 类型。
price.ceil();
//小数部分向上进位,结果为 34.0。返回值为 double。
price.ceilToDouble();
//当前变量四舍五入后取整,结果为 33。返回值为 int 类型。
price.round();
//当前变量四舍五入后取整,结果为 33.0。返回值为 double 类型。
price.roundToDouble();
2. 保留小数点后 n 位
double price = 100 / 3;
// 四舍五入 保留小数点后2位数,并返回字符串:33.33。
price.toStringAsFixed(2);
// 四舍五入 保留小数点后5位数,并返回一个字符串 33.33333。
price.toStringAsFixed(5);
3. 不四舍五入 保留小数点后n位
///取小数点后几位
// @param num 数值
// @param location 几位
String formatNum(double num, int location) {
if ((num.toString().length - num.toString().lastIndexOf(".") - 1) <
location) {
//小数点后有几位小数
return num.toStringAsFixed(location)
.substring(0, num.toString().lastIndexOf(".") + location + 1)
.toString();
} else {
return num.toString()
.substring(0, num.toString().lastIndexOf(".") + location + 1)
.toString();
}
}
Tips:【小程序云开发】中高级前端面试题库(源码:小程序中联系我哟)。
---------- 创作不易,感谢大家,请多多支持!