Mam następujący problem: Po dodać ciąg do mojego numeru drugą cyfrę po punkt znika jak tenC# Liczby po dziesiętny znika po łączę je z ciągiem
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.");
}
wyjście jest 37, 4, gdy powinno być 37,40 z jeszcze jedną cyfrą po przecinku. Jak mogę rozwiązać ten problem? Po wydrukowaniu bez dodania ostatniego fragmentu łańcucha wynik wartości całkowitej jest poprawny.
Twój kod jest w porządku "{0: F2}" zawsze wyświetli 2 miejsca dziesiętne. Czy na pewno używasz poprawnej wersji? – CathalMF
Czy sprawdzasz wartość w debugerze lub konsoli? – user1666620
W konsoli. "{0: F2}" nie wyprowadza dwóch miejsc po przecinku, gdy łączę się z + "lv.", Tylko wtedy, gdy nie umieszczam niczego po nim. –