Merhaba,
Bir MVC Core projesi geliştirmeye çalışıyorum. Elimde harici bir API’den çektiğim bRatio.LastPrice
isimli string
bir değerim var. Ben bu değerin tipini değiştirip lastp
isimli decimal
bir değişkene atayarak üzerinde bazı matematiksel işlemler yapmak istiyorum.
decimal lastp = Convert.ToDecimal(bRatio.LastPrice);
veya
decimal lastp = decimal.Parse(bRatio.LastPrice);
şeklinde kullandığımda lastp
değeri sayfada 1.000.000 ile çarpılmış olarak görünüyor.
Sonucu 1.000.000 ile bölüp onu gösteriyim dediğimde ise virgülden sonra iki basamaklı şekilde yuvarlayarak gösteriyor.
Bu problem aslında sayı gösterimlerinde nokta ve virgül kullanımlarında bulunan kültür farklılığından kaynaklandığı için Convert.ToDecimal(bRatio.LastPrice.Replace('.',','))
veya
Convert.ToDecimal(bRatio.LastPrice, System.Globalization.CultureInfo.InvariantCulture)
şeklinde denediğimde yine virgülden sonra iki haneli yuvarlıyor.
Eğer Convert.ToDecimal(bRatio.LastPrice, System.Globalization.CultureInfo.InvariantCulture).ToString("0.########")
gibi stringe çevirerek kullanırsam istediğim formatta elde edebiliyorum fakat stringe çevirmeden bunu yapabilmem gerekiyor, çünkü matematiksel işleme tâbî tutacağım.
Yardımcı olacak herkese şimdiden teşekkür ederim.