js(7) js精确计算相加相减相乘,保存小数点后两位,并且js去掉小数点后多余的0

js去掉小数点后面多余的0

用parseFloat

js去掉小数点后面多余的0

用toFixed

(819*9).toFixed(2)
//"7371.00"

parseFloat((819*9).toFixed(2))
//7371

parseFloat((819*9.996).toFixed(2)))
//8186.72

parseFloat(1.1000)
//1.1

 

由于题目中没有具体说明需要实现哪些计算功能,本回答将实现以下基本功能: 1. 加法 2. 减法 3. 乘法 4. 除法 5. 小数运算 首先,需要选择一个合适的数据类型来存储计算结果。由于需要支持小数运算,我们可以选择float或double类型,它们分别占用4字节和8字节的存储空间。在本题中,我们选择float类型。 接下来,实现加法、减法、乘法、除法运算。这些运算可以通过C语言中的算术运算符来实现。 以下是加法的实现代码: ```c float add(float a, float b) { return a + b; } ``` 以下是减法的实现代码: ```c float sub(float a, float b) { return a - b; } ``` 以下是乘法的实现代码: ```c float mul(float a, float b) { return a * b; } ``` 以下是除法的实现代码: ```c float div(float a, float b) { return a / b; } ``` 对于小数运算,我们需要注意精度问题。由于在计算机中,float类型的精度有限,可能会导致计算结果不准确。因此,我们需要采取一些措施来提高精度。 一种常见的方法是使用整数运算来代替浮点运算。例如,在进行小数乘法时,我们可以将小数转换为整数,进行整数乘法,最后再将结果转换回小数。 以下是小数乘法的实现代码: ```c float fmul(float a, float b) { int ia = (int)(a * 1000); int ib = (int)(b * 1000); int res = ia * ib; return res / 1000000.0; } ``` 在这个例子中,我们将小数转换为整数,然后进行整数乘法,最后将结果除以1000000.0,得到小数结果。 类似地,对于小数除法,我们可以将小数转换为整数,进行整数除法,最后将结果转换回小数。 以下是小数除法的实现代码: ```c float fdiv(float a, float b) { int ia = (int)(a * 1000); int ib = (int)(b * 1000); int res = ia / ib; return res / 1000.0; } ``` 在这个例子中,我们将小数转换为整数,然后进行整数除法,最后将结果除以1000.0,得到小数结果。 最后,我们可以将以上代码整合到一个完整的程序中,如下所示: ```c #include "stm32f10x.h" #include <stdio.h> float add(float a, float b) { return a + b; } float sub(float a, float b) { return a - b; } float mul(float a, float b) { int ia = (int)(a * 1000); int ib = (int)(b * 1000); int res = ia * ib; return res / 1000000.0; } float div(float a, float b) { int ia = (int)(a * 1000); int ib = (int)(b * 1000); int res = ia / ib; return res / 1000.0; } int main(void) { float a = 3.14159; float b = 2.71828; float c; c = add(a, b); printf("a + b = %f\n", c); c = sub(a, b); printf("a - b = %f\n", c); c = mul(a, b); printf("a * b = %f\n", c); c = div(a, b); printf("a / b = %f\n", c); while (1); } ``` 在这个程序中,我们定义了四个函数,分别用于实现加法、减法、乘法和除法运算。在主函数中,我们将两个数a和b相加相减相乘、相除,并输出结果。 由于题目中没有具体要求,本程序实现的计算器功能比较简单,只能进行四则运算。如果需要实现更复杂的功能,需要进一步扩展代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值