If specificity is what you're after, you could change them to
"about " + number + " point 1 " + order etc. to get e.g. "About sixteen point one million credits." That would sound pretty cool actually. With a bit more tweaking the "over" and "nearly" used for thousands could be adapted into it, for "Over sixteen point one million". Actually, the way it's set up now, that could be incorporated. Case 1 would be
" over " + number + " point 1 " + order" and so on, until Case 9 being the same as before with nearly+1 and Case 0 likewise, though I guess ideally one would want a "nearly sixteen point two million" as well so some recoding to add that "nearly" depending on the next-next digit would be the most natural sounding.
On the other hand, if sticking with the more vague ones, how about case 3 as
"about " + number + " and a quarter " + order but then case 8 is a bit weird
"about " + number + " and three quarter " + order which is getting as clunky as "on the way to".
Without any recoding, this is what I've come up with, though I haven't downloaded any of the recompiling tools yet to try it. Maybe you can test it and see if it sounds natural. (Turns out the code I found in other posts is obsolete compared to what is used now for the sake of translations, but you get the idea.)
Code:
case 0:
return "just over " + number + " " + order;
case 1:
return " " + number + " point 1 " + order;
case 2:
return "about " + number + " and a quarter " + order;
case 3:
return " " + number + " point 3 " + order;
case 4:
return "nearly " + number + " and a half " + order;
case 5:
return "around " + number + " and a half " + order;
case 6:
return "over " + number + " and a half " + order;
case 7:
return " " + number + " point 7 " + order;
case 8:
return " " + number + " point 8 " + order;
case 9:
return "almost " + (number + 1) + " " + order;
default:
return "around " + number + " " + order;
Maybe these sort of definition files could be made overridable by the end-user having a loose file somewhere. (E.g. with an American ship voice, the Phonetics.resx pronunciation of "Winters" in the name Felicia Winters comes out wrong because it was made on the assumption of a posh British voice, so the ability for an end-user to put the R in Winters and so on would be nice -- no idea if that's an easy thing to implement though; I'm no programmer by any means! I just like to tweak stuff...)