2014-04-06 8 views
2

В английском-американском символе разделителя десятичных знаков есть символ «.». Итак, если я хочу написать результат 100 + 25/100, это будет 100.25 (очевидно).Неглавное цифровое форматирование в Visual Studio

Как я буду писать его в константе в Visual Studio, если я французский разработчик, живущий во Франции? Во Франции они используют запятую («,») как десятичный разделитель.

Могу ли я написать

сопз двойной х = 100,25

или

сопз двойной х = 100,25

Спасибо

+1

Возможный дубликат http://stackoverflow.com/questions/518625/c-sharp-doubles-show-comma-instead-of-period –

ответ

0

Им также нужно будет написать 100.25. Сам исходный код не зависит от культуры. Если это не так, вам нужно каким-то образом указать культуру компилятору.

Программисты может объявить значения как строки, а затем использовать double.Parse с соответствующим провайдером формата, но это было бы преобразование во время выполнения и неэффективный способ объявить значения, известные во время компиляции.

2

Вы пишете программы на C#, а не на английском языке. Используйте синтаксис C#.

const float x = 100.25 

Когда вы показываете какую-то информацию для не Englsih пользователя вы можете отформатировать его в соответствующем виде.

Для экс .:

MessageBox.Show(x.ToString().Replace(".", ",")); // or some special format functions 
+3

Я думаю, что лучше показать в примере использования 'CultureInfo'. Будет также полезно использовать – Fedor

+1

, вы не сможете сохранить значения float в переменной 'int' – Fedor

+0

@Fyodor Ahaha, да, вы правы. Я даже не заметил эту «маленькую» ошибку с типом int/float :) Обновление. И спасибо за «CultureInfo», я раньше об этом не знал. – Roman

1

Первый. Нет никаких культурных вариантов компилятора C#, код компилируется любым компилятором. Кроме того, , имеет несколько разных применений в C#, которые были бы несовместимы, например. разделительные элементы в новом списке:

var data = new List<double> { 1.0, 2.0, 3.0 };