在有精度要求的情况下,进行两数的乘法运算
假设a和b相乘,a、b都有可能是小数,返回相乘的结果(注意精度问题)
举个栗子:a = 4; b = 0.0002 ———— 结果:0.0008
实现代码:
以上实现过程中用到的一些方法:
parseFloat()方法
该方法可解析一个字符串,并返回一个浮点数;
toFixed()方法
该方法可把Number四舍五入为指定小数位数的数字;
indexOf()方法
该方法可返回某个指定的字符串值在字符串中首次出现的位置:这里,如果这个数不是小数,则str.indexOf(‘.’)返回-1,如果是小数,则返回小数点在字符串中第一次出现的位置;
获取小数位数
str1.length - str1.indexOf(‘.’) - 1,小数的位数 = 字符串的长度 - 小数点第一次在字符串中出现的位置 - 1;举个栗子:123.56(小数位数 = 6 - 3 - 1 = 2);
二进制字符串和十进制之间的转换
- 十进制转换成二进制字符串:toString()方法
- 二进制字符串转换成十进制:parseInt()方法
相关代码:123var num = 8; // 定义一个十进制的整数var str = num.toString(2); // 转换成二进制的字符串,2表示二进制: "1000"var num1 = str.parseInt(str,2); // 将二进制字符串转换成十进制的整数,2也表示二进制: 8
扩展
将给定数字转换成二进制字符串,如果字符串长度不足8位,则在前面补0到满8位。
相关代码: