C语言中如何保留一位小数点?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中如何保留一位小数点?相关的知识,希望对你有一定的参考价值。

保留一位小数,就是精确到十分位,省略十分位后面的尾数。

float sp = 36.51647

sp=( (float)( (int)( (sp+0.005)*100 ) ) )/100

eg: 保留小数点后第二位:

1.定义一个double型的变量。

2.先乘100。

3.加零点五。(此刻的小数点第三位加了零点五后,该进位和该舍掉 其实此刻为小数点第一位。)

4.强制转换: x=(int)x。

除法分为整除和精确除 例如a/b 当a,b同时为整数时,是整除,例3/5=0,5/3=1,14/5=2就是只要整数部分,而如果a,b两个有一个或者两个都是小数的话,就是精确除,和数学。

除法 c=b/a b=b/a等价b/=a 余数 c=b%a,也就是b整除a 的余数为c b=b%a等价b%=a。

除法比如a除以b 表示为:a/b 但是结果是取商 a除以b取余 a%b 结果是取余数。
参考技术A

#include <stdio.h>


int main()

    printf("%.1f",3.1415926);

    return 0;

怎样在c语言除法中保留小数点?

下面的C语言程序怎么样改动,才能使除法有小数,我是新手,作业!!!求大神指导

#include <stdio.h>

int main()

float c;//首先要把你要求的数定义成浮点型,通俗的讲就是float和double就是小数型; 

int a=5,b=3;//int整数型,它自动把小数去掉; 

c=1.0*a/b;//最重要的是要乘以1.0; 

printf("%.2f",c);//%.2f;%后面的是点(.)几,就保留几位小数; 

return 0;

希望能帮到你,望采纳;

参考技术A 两个整数的加减乘的结果都是整数,用"%d"格式输出没有问题,但当是除法运算时,若不能整除,所得的商必然是浮点数,这是用"%d"输出时,结果就是零,可以这样改进你的代码:
printf(".2lf\n",1.0*a/b);//.2是告诉系统只输出2位小数,第三位四舍五入,lf是说用浮点格式输出,1.0*a是说,先将a转换为浮点数再进行运算。
参考技术B 怎样在c语言除法中保留小数点?
将最后一行printf("shang:%d\n",a/b);改为printf("shang:%f\n",a/b);
作为输出的格式化符%f,它还具有指定输出多少位小数的功能,如%0.2f保留两位小数。
具体可以自行百度C语言格式化符。
参考技术C 第三位四舍五入,lf是说用浮点格式输出,1.0*a是说,先将a转换为浮点数再进行运算。 参考技术D printf("%f\n", (double)a/b);

以上是关于C语言中如何保留一位小数点?的主要内容,如果未能解决你的问题,请参考以下文章

c++编程如何保留一位小数?

C语言编程求小数的最后一位

C语言 怎么取小数的最后一位

c语言中怎么保留一位小数,且小数点后是0或5

JavaScript中如何保留一位小数;

C语言:怎么样使结果输出时保留一位小数;保留两位小数?