转换双精度值ToString()

本文关键字:ToString 双精度 转换 | 更新日期: 2023-09-27 18:02:21

可能是我在问愚蠢的问题,但我不明白为什么这没有给我我期望的输出( I)。e 2.5):

double x = 5/2;
Console.WriteLine(x.ToString());

。净小提琴

转换双精度值ToString()

5 / 2执行整数除法,无论您为其分配哪种类型。它总是忽略小数部分。

你需要使用浮点除法。

double x = 5.0 / 2;
double x = 5 / 2.0;
double x = 5.0 / 2.0;

源自/ Operator

当两个整数相除时,结果总是一个整数。为例如,7/3的结果为2。

来自c#规范部分$7.7.2除法运算符,除法有三种类型;

  • 整数除法
  • 浮点除法
  • 小数除法

从整数除法的相关部分;

除法将结果舍入到0,而结果是小于的最大可能整数两个操作数之商的绝对值。结果是零当两个操作数的符号相同且为0或当两个操作数的符号相反时为负数。