c#获取double整数部分
时间: 2025-01-16 15:26:19 浏览: 47
### C# 中获取 `double` 类型数值的整数部分
在 C# 中,可以通过多种方式来获取 `double` 类型数值的整数部分。以下是几种常用的方法:
#### 使用显式类型转换
最简单的方式是使用显式的类型转换 `(int)` 或者其他适合的整数类型来进行强制转换。
```csharp
double value = 12.34;
int intValue = (int)value; // 结果为 12
Console.WriteLine($"整数部分: {intValue}");
```
这种方法会直接截断小数部分而不做四舍五入处理[^1]。
#### 利用 `Math.Floor()` 函数
对于正负数都可以适用的是调用 `Math.Floor()` 方法,它返回小于等于给定参数的最大整数。
```csharp
double positiveValue = 12.89;
double negativeValue = -12.89;
double floorPositive = Math.Floor(positiveValue); // 结果为 12
double floorNegative = Math.Floor(negativeValue); // 结果为 -13
Console.WriteLine($"正数的地板值: {floorPositive}");
Console.WriteLine($"负数的地板值: {floorNegative}");
```
此方法同样不会执行任何类型的舍入操作[^5]。
#### 应用 `Convert.ToInt32()` 转换
还可以考虑采用 `Convert.ToInt32()` 来实现从浮点到整数的转变,不过需要注意当遇到超出范围的情况时可能会抛出异常。
```csharp
try {
double largeDouble = 2_000_000_000.789;
int convertedInt = Convert.ToInt32(largeDouble);
Console.WriteLine($"转换后的整数: {convertedInt}");
} catch (OverflowException ex) {
Console.WriteLine("溢出了!");
}
```
这种情况下如果原始 `double` 的绝对值超过了目标整数类型的表示能力,则会发生溢出错误。
阅读全文
相关推荐


















