What you have currently is a string, not a number. Strings are sorted character by character, left to right. To solve your problem, store the value in two integer fields. Then concatenate the two fields with leading zeros for each part if that is how you want them displayed. You could store the value as a single currency field but you would need to know now whether you would ever need more than two digits to the right of the decimal. Otherwise, you end up with 0001.100 sorting after 0001.10 rather than after 0001.99 which would have to be stored as 0001.099 to sort correctly. Personally, I would store this value as two integers. Keeping the two parts separate will allow you to actually store them as integers so they will always sort correctly. Then when you concatenate them for printing, you won't even need leading zeros unless that is actually how you want the field formatted.