我希望能够编写一个函数,它接收科学计数法中的数字作为字符串,并将系数和指数拆分为单独的项目。我可以只使用正则表达式,但传入的数字可能没有被规范化,我希望能够规范化然后将部分分解。
一位同事使用 VB6 获得了解决方案的一部分,但它并不完全存在,如下面的成绩单所示。
cliVe> a = 1e6
cliVe> ? "coeff: " & o.spt(a) & " exponent: " & o.ept(a)
coeff: 10 exponent: 5
应该是 1 和 6
cliVe> a = 1.1e6
cliVe> ? "coeff: " & o.spt(a) & " exponent: " & o.ept(a)
coeff: 1.1 exponent: 6
正确的
cliVe> a = 123345.6e-7
cliVe> ? "coeff: " & o.spt(a) & " exponent: " & o.ept(a)
coeff: 1.233456 exponent: -2
正确的
cliVe> a = -123345.6e-7
cliVe> ? "coeff: " & o.spt(a) & " exponent: " & o.ept(a)
coeff: 1.233456 exponent: -2
应该是 -1.233456 和 -2
cliVe> a = -123345.6e+7
cliVe> ? "coeff: " & o.spt(a) & " exponent: " & o.ept(a)
coeff: 1.233456 exponent: 12
正确的
有任何想法吗?顺便说一下,Clive 是一个基于 VBScript 的 CLI,可以在我的博客上找到。