给定一个数字作为输入,请确定它具有多少个有效数字。该数字应作为字符串,因为您必须进行一些特殊的格式化。您很快就会明白我的意思(我认为)。
如果满足以下至少一项要求,则数字为签名。
- 非零数字始终有效。
- 两个有效数字之间的任何零都是有效的。
- 小数部分中的最终零或尾随零仅是有效的。
- 如果没有小数位,则所有数字都是有效的。
- 当只有零时,除最后一个零外的所有零都被视为前导零
输入值
数字的字符串或字符串数组。它的末尾可能有一个小数点,后面没有数字。它可能根本没有小数点。
输出量
有多少个签名。
例子
1.240 -> 4
0. -> 1
83900 -> 3
83900.0 -> 6
0.025 -> 2
0.0250 -> 3
2.5 -> 2
970. -> 3
0.00 -> 1
相关,但a)没有答案,b)关于计算表达式的答案
—
Daniel Daniel
您可能想在某个地方明确提及,如果只有零,那么除最后一个零外的所有数字都被视为前导数字(与之相反,除了第一个零之外的所有数字均被视为尾随数字)。
—
Martin Ender
为什么0.00-> 1?小数点后的两个零不是有效的(根据“最终零或仅十进制部分中的尾随零是有效的”)。
—
Penguino
@Penguino,正如马丁·恩德(Martin Ender)正确说的那样,如果只有0,则除最后一位以外的所有数字都被视为前导零
—
Daniel Daniel