From: Deniz Akkus Kanca (deniz@arayan.com)
Date: Sat 29 May 2004 - 09:14:42 EEST
Selam,
Yüksel Bey'in rakam formatlama konusunda söyledikleri üzerine yaptığım
aşağıdaki LC_NUMERIC ile ilgili test'te Türk yereli şu şekilde davranıyor:
num = 123456.78;
setlocale (LC_ALL, "tr_TR") ;
printf ( "tr_TR-->%'.2f\n", num) ;
setlocale (LC_ALL, "da_DK");
printf ("da_DK->%'.2f\n", num);
%./ornek
tr_TR->123456.78
da_DK->123.456,78
Yani:
1. Virgül yerine ondalık işareti (radix) olarak nokta çıkıyor.
2. Binlik işareti kullanılmıyor.
LC_NUMERIC'de de bunu görmek mümkün.
Teklifim:
1. Ondalık işareti olarak virgül kullanılsın -- kişisel olarak bunu sevmem ama
bildiğim kadarı ile Türk dilinin standardı budur.
2. Binlik işareti kullanılsın ve nokta olsun.
Aksine bir cevap gelmez ise bu konu ile ilgili ufak bir patch'i glibc'ye
göndermek düşüncesindeyim.
LC_NUMERIC
decimal_point "<U002C>"
thousands_sep "<U002E>"
grouping 3
END LC_NUMERIC
Esen kalın,
Deniz