European decimal format

Hi everyone, I have been trying to get the European decimal format instead of the American decimal format. I have tried different methods, but I have not been successful in achieving it. However, I have found a solution that I would like to discuss. Firstly, I chose a European language that I do not need to use in my app. I added German to my languages from the settings. Then, I went to Language operations and selected all documents. For the operation section, I chose 'Copy'. I selected English (United States) as the source language and German as the destination language. Finally, I clicked on the Apply button, and all the translations were copied. Next, I went back to the Settings and removed all other languages except German, which became the default. After running the app, I was able to use the decimal format as European. However, I also added English (United States) again. I copied the previous German translations back to English, and then I set English as the default language. Surprisingly, it still works fine. 😀 My question is: will this somehow affect the app? Or do you have another approach?
3 answers

Language only changes the way a decimal for instance is shown at the frontend with the thousend serperator etc. It does not change the way that decimal is stored in the database. A decimal stays a decimal no matter what language you have.





The database, as Ronald described, is only handling dot based decimals.


You can let the user fill in a comma based decimal in a string input field.

When using this field to save it to the entity, you can then replace ( the comma 9,) with a dot (.).


When showing a decimal again in the screen, make sure you translate the dots again to comma's


I had a similar problem and wrote the Decimal Tools module to help fix this. It gives you a fuller featured ParseDecimal and FormatDecimal that lets you handle decimals in formats that are different from your current locale.

I hope this will help you.