Jak przekonwertować double
na string
za pomocą 6 cyfr i usunąć końcowe zera?C# double.ToString() maksymalna liczba cyfr i zer końcowych
chcę mieć:
2.123456123 -> "2.123456"
0.0000012 -> "0.000001" (and not "1.2e-6")
12.45 -> "12.45" (and not "12.450000")
36 -> "36" (and not "36.000000")
użyciu string.Format("{0:F6"}, value)
wyjściowe spływu zer i string.Format("{0:G6"}, value)
nie zmieści drugim przykładzie.
Czy można używać value.ToString("0.######)
?
Czy istnieje równoważny sposób postępowania z string.Format()
?
Tak, można użyć 'value.ToString (" 0. ###### ")'. Będzie używał aktualnej kultury bieżącego wątku, na przykład przy podejmowaniu decyzji, który łańcuch (jak '.') użyje dla kropki dziesiętnej. Odpowiednikiem "string.Format" jest po prostu: 'string.Format (" Mój numer {0: 0. ######} wygląda dobrze. ", Wartość)' Jeśli chcesz niezależności kultury, spróbuj 'value. ToString ("0. ######", CultureInfo.InvariantCulture) 'odpowiednio' string.Format (CultureInfo.InvariantCulture, "Mój numer {0: 0. ######} wygląda dobrze.", Wartość) '. –
['#'] (https://msdn.microsoft.com/en-us/library/0c899ak8.aspx#SpecifierD) jest wykonany specjalnie z tego powodu. – Sinatr
Dzięki za szybkie odpowiedzi! –