Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Visual basic handle decimal comma

I'm trying to save variables into text files and the Czech typographic rules drives me crazy. The program I'm tuning is dedicated to work on Czech localized computers where decimal comma is used but the VB is working with normal, standard decimal dot.

When loading files "US" decimals are loaded correctly and showed as Czech decimals. In TextBoxes "Czech" decimals are required. My problem is that program generates Czech decimals and require the "US" ones.

How can I force VB program to read comma as decimal sign instead of delimiter or how to export data with dots instead of commas?

Yes I can load 123,456 as a=123 and b=456 and then return value as a + b/1000 but is there more elegant solution?

like image 555
Crowley Avatar asked Jun 02 '11 13:06

Crowley


2 Answers

Pick the right function.

  • Val, Str will always use US settings (dot as decimal)
  • CDbl, Format will take account of the regional settings.

It's all in the manual section on international programming.

like image 158
MarkJ Avatar answered Nov 05 '22 21:11

MarkJ


Your trouble might be due to use of the Val function; that isn't international. The help text recommends the use of CDbl when converting from strings to numbers.

like image 38
Brian Hooper Avatar answered Nov 05 '22 20:11

Brian Hooper