首页 > 试题广场 >

乘法

[编程题]乘法
  • 热度指数:45578 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
求 a 和 b 相乘的值,a 和 b 可能是小数,需要注意结果的精度问题
示例1

输入

3, 0.0001

输出

0.0003
头像 牛客747046228号
发表于 2020-06-05 15:32:24
function multiply (a, b) { var f1 = 1, f2 = 1; // 如果存在小树点则乘以他的0的个数f1,f2分别存储a,b的倍数最后先算a*b扩大的在除以抵消掉 if (String(a).indexOf(".") != -1) { 展开全文
头像 牛客HT猫L
发表于 2021-08-20 11:55:06
function multiply(a, b) { // 1.先将两个数转成字符串 let str1 = a.toString() let str2 = b.toString() // 2.获取小数点后的位数,不一定有小数位 let lenA = (str 展开全文
头像 lemon031
发表于 2021-10-08 10:52:33
function multiply(a, b) { function getl(num) { const l = num.toString().indexOf('.') return l == -1 ? 0 : num.toString().length - l - 1 } 展开全文
头像 雷中曲
发表于 2021-07-13 21:30:28
function multiply(a, b) {     // 1.先将两个数转成字符串     let str1 = a.toString() & 展开全文
头像 影子咿呀
发表于 2021-11-20 10:31:07
```function multiply(a, b) { //1.先转为字符串 var str1=a.toString() var str2=b.toString( //2-1.计算小数位数(第一种) var lenA=(str1.indexOf('.')===-1?0:str1.length-st 展开全文
头像 轻飘飘过wind
发表于 2022-09-06 12:09:31
简洁、易读 1. 封装一个函数,用来获取数字的小数位数 2. 使用Math.round(v * 10^n) / 10^n进行指定位数的四舍五入 细节:乘积结果位数为两个num的位数之和 function multiply(a, b) {   展开全文
头像 人云亦云fs
发表于 2021-09-28 22:55:58
复杂还是简单? function multiply(a, b) { var mul=[1,1] var ab=[a,b].map((num,index)=>(''+num).replace(/\.(\d*)/,(_,$)=>{ mul[index]=Mat 展开全文
头像 奋斗:-)
发表于 2021-06-30 17:46:35
function multiply(a, b) { // 先将数字转换为字符串 let strA = "" + a let strB = "" + b // 先获取两个数的小数位数 let lenA = (strA.indexOf 展开全文
头像 前端消防圆
发表于 2023-06-26 12:42:36
思路:首先将两个数转换为字符串,然后分别获取两个数的小数点后的位数,并取最精确的小数位数,再将乘法结果指定小数点后的数字位数。 function multiply(a, b) { //先将两个数转换成字符串 let str1=a.toString() let str2=b. 展开全文
头像 牛客802122197号
发表于 2022-01-24 11:11:15
function multiply(a, b) { // 首先截取b的小数点后面的数字长度,截取自带转换为字符串 let d = b.toString().split('.')[1] // 然后将两个值进行乘法计算 let c = a * b 展开全文