我的数字类型为double。 双a = 12.00 我必须通过删除.00
将其设为12请帮帮我
答案 0 :(得分:46)
好12
和12.00
与double
值具有完全相同的表示形式。您是否尝试使用double
或其他内容? (例如,如果您确信值将在正确的范围内,并且截断效果是您想要的那样,则可以转换为int
。)
您可能也想查看这些方法:
Math.Floor
Math.Ceiling
Math.Round
(有关如何处理中点的变体)Math.Truncate
答案 1 :(得分:30)
如果你只需要double的整数部分,那么使用显式转换为int。
int number = (int) a;
您可以使用Convert.ToInt32 Method (Double),但这会将数字四舍五入到最接近的整数。
值,四舍五入到最接近的32位有符号整数。如果价值是 在两个整数之间,返回偶数;那 是,4.5转换为4,5.5转换为6.
答案 2 :(得分:23)
int d = (int) Math.Round(a, 0);
答案 3 :(得分:18)
答案 4 :(得分:7)
阅读您的所有评论,我认为您只是在尝试以某种格式显示它,而不是更改值/将其强制转换为int
。
我认为将12.00
显示为"12"
的最简单方法是使用字符串格式说明符。
double val = 12.00;
string displayed_value = val.ToString("N0"); // Output will be "12"
此解决方案的最好之处在于,它将1200.00
更改为"1,200"
(在其中添加逗号),这对于显示某物的金额/金额/价格非常有用。
更多信息可以在这里找到: https://msdn.microsoft.com/en-us/library/kfsatb94(v=vs.110).aspx
答案 5 :(得分:5)
这是一个技巧
a = double.Parse(a.ToString().Split(',')[0])
答案 6 :(得分:1)
因为点后的数字仅为零,所以最好的解决方案是使用Math.Round(MyNumber)