b = "1.2" a = 1.234 -> b -6ren">
gpt4 book ai didi

C# 将小数转换为指定格式的字符串

转载 作者:太空狗 更新时间:2023-10-29 20:09:35 26 4
gpt4 key购买 nike

我需要将十进制数 a 转换为字符串 b,如下所示:

  • b 必须是 '.' 字符。例如:
    • a = 12 -> b = "12.0"
    • a = 1.2 -> b = "1.2"
    • a = 1.234 -> b = "1.234"

我怎样才能用 1 个命令做到这一点?

  • b 必须刚好有 10 个字符。例如:
    • a = 101 -> b = "101.000000"
    • a = 1.234 -> b = "1.23400000"
    • a = 1.234567891 -> b = "1.23456789"

(与 1 相同的问题)

最佳答案

decimal a = 12;
var b = a.ToString("N1"); // 12.0

a = 1.2m;
b = a.ToString(); // 1.2

a = 101m;
b = a.ToString("N10"); // 101.0000000000

a = 1.234m;
b = a.ToString("N10"); // 1.2340000000

对于问题的第二部分 - 您希望总长度为 10 的地方:

decimal a = 1.234567891m;
int numberOfDigits = ((int)a).ToString().Length;
var b = a.ToString($"N{9 - numberOfDigits}"); //1.23456789

//Or before C# 6.0
var b = a.ToString("N" + (9 - numberOfDigits)); //1.23456789

基本上 ((int)number).ToString().Length 为您提供 . 之前的位数(转换为 int 将删除分数),然后从 . 之后的位数减少它(小数点本身也为 -1)

关于C# 将小数转换为指定格式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38911322/

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