phfb.net
当前位置:首页 >> python输出小数点后三位 >>

python输出小数点后三位

"%.2f"%数 就输出2位小数

f = lambda x, n: round(x, n - len(str(int(x))));定义了一个方法f,用来实现你所说的功能.输入:f(123.456789, 8)输出:123.45678输入:f(1.23456789, 8)输出:1.2345679000000001f接收2个参数,第一个参数是要求有效位数的数字,第二个参数是设置有效位数.第二次输出中的数字不够准确,这跟python处理小数的方式有关,如果想要准确的数字可以使用python decimal类.或者用python3k

这种情况跟计算机的存储是有关系的:1. 计算机只能储存2^n的数字(n可以小于0);2. 也就是说,像8、4、2、0、1/2、 1/4、 1/8等,或者它的组合才可以精确表示,其他的数字对他来说是无理数;3. 比如2.5中的0.5,计算机就要用1/4+1/32+1/..等等叠加算出来,因此做不到精确.

先用float转换一下,float(a)/float(b)就有小数点后面的了

a = int(input()) print(str(a%10)+str(a%100//10)+str(a//100))

代码如下,注bai释也在里du面:#include<stdio.h>#include<stdlib.h> int main() { int num,a,b,c;//输入三位数zhidao printf("请输入一版个三位整数权:\n"); scanf("%d",&num);//输出各位数 a=num/100; b=(num-a*100)/10; c=(num-a*100-b*10); printf("千位-%d,十位-%d,个位-%d\n",a,b,c); system("PAUSE"); return 0; }

什么意思? 你将a 、b定义为float型不就可以了吗?fromat()比%格式化输出强悍,最好学会用format格式化:如保留2位小数:'{0:0.2}.format(1.2/7) ===0.17

帮你修改了下,这样就对了.print ("shurushuzi")b=(input())c=int(float(b))print (c)你得告诉Python,b是一个浮点数,然后用int来转float就可以了.

首先除法, 如果要得到小数,那么除数或者被除数,至少有一个是浮点数100/3.0其次,保留小数 可以使用很多语言都用的一种方式 %.2f代码a = 100/3.0print '%.3f'%a#.3f 保留3位小数

网站首页 | 网站地图
All rights reserved Powered by www.phfb.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com