Tag: decimal

小数点后两位使用printf()

我试图写一个数字到两位小数使用printf() ,如下所示: #include <cstdio> int main() { printf("When this number: %d is assigned to 2 dp, it will be: 2%f ", 94.9456, 94.9456); return 0; } 当我运行该程序时,我得到以下输出: # ./printf When this number: -1243822529 is assigned to 2 db, it will be: 2-0.000000 这是为什么? 谢谢。

MySQL中的DOUBLE和DECIMAL

好的,所以我知道有很多文章指出我不应该使用DOUBLE在MySQL数据库中存储资金,否则我会以棘手的精确错误结束。 重点是我没有devise一个新的数据库,我要求find方法来优化现有的系统。 新版本包含783个DOUBLEtypes的列,其中大部分用于存储货币或公式来计算金额。 所以我对这个主题的第一个看法是我应该强烈推荐在下一个版本中将DOUBLE转换为DECIMAL,因为MySQL文档和大家都这么说。 但是,我找不到任何合理的论据来certificate这个build议,原因有三: 我们不对数据库执行任何计算。 所有的操作都是使用BigDecimal在Java中完成的,MySQL只是作为结果的普通存储。 DOUBLE提供的15位精度是足够的,因为我们主要存储2位十进制数字,偶尔小数字8位十进制数字作为公式参数。 我们有6年的生产logging,因为MySQL方面的精度损失而没有已知的bug。 即使通过在一个18毫米行表上执行操作(如SUM和复数乘法),我也无法执行缺less精度的错误。 而我们实际上并没有在生产中做这种事情。 我可以通过做类似的事情来显示丢失的精确度 SELECT columnName * 1.000000000000000 FROM tableName; 但我无法find一种方法将其转换成小数点后第二位的错误。 我在互联网上发现的大多数真正的问题是2005年和较旧的论坛条目,并且我无法在5.0.51 MySQL服务器上重现它们中的任何一个。 所以只要我们不执行任何我们不打算做的SQL算术运算,我们应该期待什么问题,只需要在DOUBLE列中存储和读取金额?

如何计算SQL Server中两个date之间的差异(小数)?

我必须计算SQL Server 2008中两个date之间的差异(十进制types)。 我无法find任何有用的技术来将date时间转换为十进制,MSDN上的“CONVERT”。 有人可以帮我吗? 更新: 要清楚,我也需要小数部分(因此十进制types)。 所以从9点到10点半,它应该返回我1.5。

如何在C#中将小数转换为int?

如何将小数转换为int?

EF Code First中的小数精度和小数位

我正在尝试这种代码优先的方法,但我现在发现一个System.Decimaltypes的属性映射到十进制types(18,0)的sql列。 如何设置数据库列的精度?

在双精度上移动小数点以上

所以我有一个双重设置等于1234,我想移动一个小数点,使其12.34 所以要做到这一点,我把两倍乘以1到1234,就像这样 double x = 1234; for(int i=1;i<=2;i++) { x = x*.1; } System.out.println(x); 这将打印结果“12.340000000000002” 有没有一种方法,而不是简单地格式化到两位小数,有正确的双存储12.34?