how to transform decial point "3.15" to "3,15" comma?
AsmMan via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Sep 15 16:24:13 PDT 2014
On Monday, 15 September 2014 at 23:17:51 UTC, AsmMan wrote:
> On Monday, 15 September 2014 at 22:45:50 UTC, Cassio Butrico
> wrote:
>> how to transform decial point "3.15" to "3,15" comma?
>>
>> Hello everyone, I am making a registry of real amounts,
>> and need trasformar fractional numbers,
>> so print coretamente.
>>
>> there is some routine that do this?
>
> Is the , (comma) the system decimal separator? if so, you can
> use C intero and include locale.h header (in D, the respective
> module) call setlocale(LC_NUMERIC, "") function and then
> printf("%g", 3.5) will output (if decimal separator is the
> comma): 3,5
>
> I haven't tested it in D but I think D's writefln() will behave
> exactly same as C's printf().. but it didn't you're free to
> call C's printf()
The code is the following:
import std.stdio;
import std.c.locale;
void main()
{
setlocale(LC_NUMERIC, "");
writeln(3.5); // 3,5
}
You can change/see current decimal separator using (assuming
Windows) http://www.softwareok.com/?seite=faq-Win-7&faq=78
More information about the Digitalmars-d-learn
mailing list