gpt4 book ai didi

c# - 为什么 Decimal.Divide(int, int) 有效,但 (int/int) 无效?

转载 作者:IT王子 更新时间:2023-10-29 03:36:03 25 4
gpt4 key购买 nike

如何将两个 32 位 int 数字相除作为 ( int/int ) 返回给我 0,但是如果我使用 Decimal.Divide() 我会得到正确的答案?我绝不是一个 c# 人。

最佳答案

int 是整数类型;将两个整数相除执行 整数 除法,即小数部分被截断,因为它不能存储在结果类型中(也是 int!)。相比之下,Decimal 有一个小数部分。通过调用 Decimal.Divide,您的 int 参数会隐式转换为 Decimal

您可以通过将至少一个参数显式转换为浮点类型来强制对 int 参数进行非整数除法,例如:

int a = 42;
int b = 23;
double result = (double)a / b;

关于c# - 为什么 Decimal.Divide(int, int) 有效,但 (int/int) 无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1043164/

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