Я работаю с рабочими процессами в Sharepoint 2007. В Workflow я обращаюсь к форме Inforpath за кодом и добавляю некоторые повторяющиеся значения в список Sharepoint.Decimal.Parse/Double.Parse Возвращает значение без десятичной точки
string strProfitMargin = ProfitMargin;
decimal margin1 = decimal.Parse(strProfitMargin);
listItem["Test9"] = Math.Round(margin1, 2).ToString();
Пусть для ProfitMargin я получаю значение "0.4230769230769231"
.
Decimal.Parse
Метод возвращает 4230769230769231
без десятичной точки. В конечном счете Math.Round также не работает. Это прекрасно работает на моей машине. Но в серверах QA его не работает. Пожалуйста, помогите мне и объясните, почему метод decimal.Parse не работает? Тот же путь для double.Parse() возвращает значение без десятичной дроби.
Спасибо заранее!
'Decimal.Parse ("+0,4230769230769231")' 'возвращает 0.4230769230769231' для меня. В какой культуре это работает? – Oded
Наши серверы находятся в Германии. Я думаю, что это должно быть «de-DE». Это причина. Тханкс. – SPKan
Да, скорее всего. Эта культура использует ',' для десятичного разделителя. Разберите с помощью 'CultureInfo.InvariantCulture' или используйте десятичный литерал, который использует', 'вместо' ''. – Oded