excel2007除法结果为啥只有整数,怎样才能保留两位小数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel2007除法结果为啥只有整数,怎样才能保留两位小数?相关的知识,希望对你有一定的参考价值。
新手刚学用excel今天进行除法时计算结果只保留了整数.好像2000中是有小数的吧.
用QUOTIENT进行除法计算的,得的结果只有整数.二楼试了不行的.不是单元格不显示的问题是计算结果就只有整数,
选中计算结果所在的单元格,右击选择“设置单元格格式”,在弹出的窗口中选择:数字-数值,再设定小数位数,然后确定,自己先试试。
无论excel哪个版本,这个应该是一样的。
那不好意思,还没有用过2007.也没用过quotient.
C 编程:模数是不是忽略结果中的前导零?我怎样才能阻止它? [复制]
【中文标题】C 编程:模数是不是忽略结果中的前导零?我怎样才能阻止它? [复制]【英文标题】:C Programming: Does Modulus Ignore Leading Zeros in Result ? How Can I Stop It? [duplicate]C 编程:模数是否忽略结果中的前导零?我怎样才能阻止它? [复制] 【发布时间】:2017-10-03 06:13:34 【问题描述】:我正在用 C 语言编写微控制器,由于编译器或芯片不能很好地处理浮点数,建议将浮点值放大到足以去掉小数,然后在输出数字时,通过比例除法将其缩小,并使用模数来查找和显示小数部分。这是一个例子:
以号码25.0625
开头。乘以10000
得到250625
。很好,现在我们没有浮动了。现在要显示它,我们使用这样的一行:
sprintf(buffer, "%li.%i", Temp / 10000, abs(Temp % 10000));
所以我们首先通过/ 10000
将25
取出,然后通过% 10000
取出0625
。但问题是:看起来我的模数结果忽略了 0625 中的前导零,因此当它将数字连接在一起时,它变为 25.625
而不是 25.0625
。我不能指望总是有一个前导零,所以在里面填一个零不是答案,而且在其他时候可能有几个前导零。我的问题是,如何抑制模数排除前导零?谢谢。
【问题讨论】:
数字上不存在前导零;使用%04i
将整数格式化为四位宽。
数字没有前导零,它们只是数字。可以使用%04d
格式打印4位数字。
顺便说一句,sprintf(buffer, "%li.%i", Temp / 10000, abs(Temp % 10000));
与Temp = -123
的输出肯定是错误的。
【参考方案1】:
您可以告诉sprintf
将数字格式化为带有前导零的 4 位字段。
sprintf(buffer, "%li.%04d", Temp / 10000, abs(Temp % 10000));
见Printing leading 0's in C?
【讨论】:
%.4d
也做同样的工作。有些人认为它比%04d
更受欢迎。
@JonathanLeffler 我在刚刚链接到的问题的任何答案中都没有看到该建议。
它似乎不见了。在走得更远之前,我想为“有些人……”找到一个参考。 x-red 也是关于邮政编码而不是整数/定点算术。
@JonathanLeffler here 是一个讨论差异的问题,它只影响负数。以我的经验,%04d
更惯用。
@chux 好点,因为整数对于-1234/10000
没有负零。代码需要检查这种情况。以上是关于excel2007除法结果为啥只有整数,怎样才能保留两位小数?的主要内容,如果未能解决你的问题,请参考以下文章
PHP-ExcelReader 怎样才能支持读取excel2007文档