首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Math.Pow不需要的圆线

用Math.Pow不需要的圆线
EN

Stack Overflow用户
提问于 2014-07-29 20:03:46
回答 2查看 75关注 0票数 0

我正在做一些简单的计算,在计算器中输入的值给我1.000243872,但它给我1。我需要小数点。想知道舍入会有什么问题吗?

私人十进制APR = 4.5,私人十进制PF = 2,私人十进制CF =2

代码语言:javascript
复制
var value = (double) (1 + (double) APR/(double) PF); => 1.04550625
var value1 = (double)Math.Pow((double)value, (double) CF); =>  1.093083319
var value2 = (double) Math.Pow((double) value1, (double)(1/365)); => 1
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-29 20:10:10

您正在除以两个int值:1365。在大多数编程语言中,这种划分返回一个int值,在您的特殊情况下是0。只有在计算结果之后才执行(double)强制转换。(double)00。要获得不一致的结果,可以在操作数之一:(double)1/3651/(double)365上使用强制转换,也可以使用其他人建议的方法:1.0/3651/365.0

票数 3
EN

Stack Overflow用户

发布于 2014-07-29 20:05:15

1/365为0(几乎为0,但随后变为0,因为您处理的是整数输入,因此只能得到整数的结果),然后转换为2,它仍然是0,任何^0 =1。

你可以试试1.0 / 365

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25023967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档