我需要将过程转换string为decimal固定小数分隔符,.独立于文化设置.接下来,我知道十进制数仅限于6位小数,.并且之前的位数没有限制..使用Oracle文档及其格式字符串示例我现在只有这个解决方案:
v_number := TO_NUMBER(v_string, '9999999999999999999999999999999999D999999', 'NLS_NUMERIC_CHARACTERS = ''. ''');
Run Code Online (Sandbox Code Playgroud)
9之前的字符D数是允许的最大数量.我发现这个格式字符串非常糟糕.是否有更好的格式字符串用于此常规转换或某种方式省略第二个函数参数?一般来说,我只需要传递给函数NLS参数告诉它我只想用小数分隔符转换.,但在这种情况下第二个参数也是强制性的.