Chcę zaokrąglić w górę podwójną wartość w dwóch miejscach po przecinku w c # jak mogę to zrobić?
double inputValue = 48.485;
po zaokrągleniu w górę
inputValue = 48.49;
Chcę zaokrąglić w górę podwójną wartość w dwóch miejscach po przecinku w c # jak mogę to zrobić?
double inputValue = 48.485;
po zaokrągleniu w górę
inputValue = 48.49;
Odpowiedzi:
To działa:
inputValue = Math.Round(inputValue, 2);
Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)
Powinieneś użyć
inputvalue=Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)
Math.Round zaokrągla zmiennoprzecinkową wartość podwójnej precyzji do określonej liczby cyfr ułamkowych.
Określa, w jaki sposób matematyczne metody zaokrąglania powinny przetwarzać liczbę, która znajduje się w połowie odległości między dwiema liczbami.
Zasadniczo powyższa funkcja weźmie wartość wejściową i zaokrągli ją do 2 (lub dowolnej określonej liczby) miejsc dziesiętnych. Z MidpointRounding.AwayFromZero
kiedy numer jest w połowie drogi między dwoma innymi, jest ona zaokrąglana w kierunku najbliższego numeru, który jest oddalony od zera. Istnieje również inna opcja, której możesz użyć, aby zaokrąglić w kierunku najbliższej liczby parzystej.
Użyj Math.Round
value = Math.Round(48.485, 2);
możesz spróbować jednego z poniższych. istnieje wiele sposobów na to.
1.
value=Math.Round(123.4567, 2, MidpointRounding.AwayFromZero) //"123.46"
2.
inputvalue=Math.Round(123.4567, 2) //"123.46"
3.
String.Format("{0:0.00}", 123.4567); // "123.46"
4.
string.Format("{0:F2}", 123.456789); //123.46
string.Format("{0:F3}", 123.456789); //123.457
string.Format("{0:F4}", 123.456789); //123.4568