gpt4 book ai didi

小数点后的 C# 数字在我用字符串加入它们后消失

转载 作者:太空狗 更新时间:2023-10-29 23:05:59 25 4
gpt4 key购买 nike

我有以下问题:在我向我的号码添加一个字符串后,点后的第二个数字就这样消失了

 var needed_product = sets * (2 * price_bananas) + 
sets * (4 * price_eggs) +
sets * (0.2 * price_berries);

var difference = Math.Abs(needed_product - amount_cash);

if (amount_cash>=needed_product)
{
Console.Write("Ivancho has enough money - it would cost " + "{0:F2}",
needed_product + "lv.");
}

输出是 37,4,而它应该是 37,40,逗号后多一位。我该如何解决这个问题?当我在不添加最后一段字符串的情况下打印它时,整数的输出是正确的。

最佳答案

您的字符串格式不正确。Console.Write 接受一个字符串参数,然后可选地传递一些参数到字符串中。

在您的示例代码中,您的字符串是

"Ivancho has enough money - it would cost " + "{0:F2}"

然后你传递给那个字符串的参数是

needed_product + "lv."

needed_product 被添加到“lv.”,并且在这个过程中被转换成一个没有您的自定义参数的字符串。这意味着 {0:F2} 被转换为字符串并忽略 F2 修饰符,给出

"Ivancho has enough money - it would cost 37.4 lv."

相反,使用

Console.Write("Ivancho has enough money - it would cost {0:F2} lv.", needed_product); 

关于小数点后的 C# 数字在我用字符串加入它们后消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36838525/

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