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.