The official SSML specification unfortunately does not appear to support this.
The closest you can get is to use the "say-as" tag to have a number spoken as characters, but then the "." character will be spoken as "period" or "dot", by US and UK engines, respectively.
What you can do is manually replace that character with the word "point", and exclude it from the say-as tag, E.G.
Set decimal [my decimal variable] value to 123456789.12
Say, '<speak version="1.0" xml:lang="en-US"> <say-as interpret-as="characters">{TXTREPLACEVAR:"{DECINV:my decimal variable}":".":"</say-as>point<say-as interpret-as="characters">"}</say-as> </speak>'
Note that the "xml:lang" tag is mandatory, and should be set to the language of the voice you want to use. If you have that set to "en-US" but the voice you've selected in the "Voice" dropdown is a UK English voice, a US English voice will be used instead of that selected voice.