gpt4 book ai didi

c# - 1/252 = 0 在 C# 中?

转载 作者:IT王子 更新时间:2023-10-29 04:46:22 24 4
gpt4 key购买 nike

我正在做一个计算,在调试时我发现了这个:

double num = 1/252;

当我对此进行调试时,num 设置为零 (0)。是否有一个原因?我想让它成为实际的计算。

谢谢

最佳答案

是的 - 计算是在整数算法中进行的。试试这个:

double num = 1.0 / 252.0;

基本上,分配结果的变量类型不会影响正在执行的算术运算。一个整数除以另一个整数的结果是一个整数;如果要使用浮点运算,则需要将一个或另一个操作数设为浮点类型。使用文字执行此操作的一种简单方法是在末尾添加“.0”。另一种选择是使用 d 后缀:

double num = 1d / 252d;

请注意,您实际上只需要将 一个 操作数设为浮点值即可,但为了清楚起见,在这种情况下我可能会同时执行这两种操作。

这当然很容易用文字来做,但对于其他表达式(变量、方法调用的结果等)你需要使用强制转换:

int x = 1;
int y = 252;
double num = (double) x / (double) y;

同样,您只需要施放其中之一,所以这也行得通:

int x = 1;
int y = 252;
double num = (double) x / y;

请注意,这并非特定于除法 - 它也会影响其他算术运算符。

关于c# - 1/252 = 0 在 C# 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3621674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com