gpt4 book ai didi

c# - 转换为字符串时删除无关紧要的小数位 (C#)

转载 作者:太空宇宙 更新时间:2023-11-03 18:36:05 24 4
gpt4 key购买 nike

我有一个具有十进制数据类型的属性,比方说“Interest”,然后我有另一个字符串类型的属性,比方说“InterestString”。

属性

 public decimal Interest { get; set; }
public string InterestString { get; set; }

我想将 Interest 的值赋给 InterestString,所以我做了以下操作。例如,假设 Interest 的值为 4(没有小数位):

InterestString = Interest.ToString();

如果转换完成,我的 InterestString 变为“4.000”,但我的兴趣值只有 4,没有 .0000。

我想在转换后保留格式。我怎样才能去掉那些无关紧要的小数位?

如果我这样做

InterestString = Interest.ToString("N0");

它会给我 InterestString="4";但是如果我有 Interest 4.5 怎么办?这将给我InterestString = "5"`(四舍五入为十)。

如果我执行 Interest.ToString("N2") ,我仍然会得到 2 个微不足道的小数位。我想要的行为是删除无关紧要的小数位。

请帮忙。

最佳答案

我认为 System.Decimal 没有 Normalize 方法,这基本上就是您想要的。如果您知道您最多需要多少位小数,您可以使用:

string x = Interest.ToString("0.######");

有多少个你感兴趣的符号。只有有效数字会被填写:

using System;

class Test
{
static void Main()
{
ShowInterest(4m); // 4
ShowInterest(4.0m); // 4
ShowInterest(4.00m); // 4
ShowInterest(4.1m); // 4.1
ShowInterest(4.10m); // 4.10
ShowInterest(4.12m); // 4.12
}

static void ShowInterest(decimal interest)
{
Console.WriteLine(interest.ToString("0.#####"));
}
}

关于c# - 转换为字符串时删除无关紧要的小数位 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15355134/

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