Saat ini saya sedang membangun modul penjualan untuk situs web klien. Sejauh ini saya sudah mendapatkan harga jual untuk menghitung dengan sempurna tetapi di mana saya terjebak adalah memformat output ke 2 tempat desimal.
Saya saat ini memanggil ini dalam variabel sehingga saya dapat data mengikat hasil ke tampilan daftar.
Sale = float.Parse(((x.Sale_Price - (x.Sale_Price * (x.Discount_Price / 100))).ToString())),
Adakah yang bisa menunjukkan kepada saya bagaimana memformat output ke 2 tempat desimal ?? Terimakasih banyak!
c#
variables
floating-point
decimal
Callum
sumber
sumber
Jawaban:
Anda dapat mengirimkan format ke
ToString
metode, misalnya:String Format Angka Standar
sumber
Hal pertama yang perlu Anda lakukan adalah menggunakan
decimal
tipe bukanfloat
untuk harga. Penggunaanfloat
sama sekali tidak dapat diterima karena itu tidak dapat secara akurat mewakili sebagian besar pecahan desimal.Setelah Anda selesai melakukannya,
Decimal.Round()
dapat digunakan untuk membulatkan ke 2 tempat.sumber
String.Format("{0:#,###.##}", value)
Contoh yang lebih kompleks dari Pemformatan String di C # :
sumber
Aku percaya:
Harus melakukannya.
Lihat Contoh Format Tautan String C #
sumber
sumber
Seperti yang telah disebutkan, Anda harus menggunakan hasil yang diformat; yang semuanya dilakukan melalui
Write()
,WriteLine()
,Format()
, danToString()
metode.Apa yang belum disebutkan adalah Format titik-Tetap yang memungkinkan jumlah desimal tertentu. Ini menggunakan 'F' dan angka yang mengikuti 'F' adalah jumlah tempat desimal yang dihasilkan, seperti yang ditunjukkan dalam contoh.
sumber
Ini untuk kasus-kasus yang ingin Anda gunakan string interpolasi . Saya sebenarnya memposting ini karena saya bosan dengan trial and error dan akhirnya menelusuri banyak dokumen setiap kali saya perlu memformat skalar.
Peringatan Kinerja
String interpolasi lambat. Dalam pengalaman saya ini adalah urutannya (cepat ke lambat):
value.ToString(format)+" blah blah"
string.Format("{0:format} blah blah", value)
$"{value:format} blah blah"
sumber