从字符串中读取浮点数作为 2 个整数

Reading floats from string as 2 integers

我正在尝试从字符串中读取浮点数,将它们拆分为 2 个整数。

sscanf(line, "%d.%d", &dec, &frac));

这适用于像这样的字符串:

"0.25"

但是如果数字前面有一个可选的符号,它就不再起作用了。

"-0.25"

我如何 'tell' sscanf,数字前可能有一个可选符号?

据我所知,%d 很好,因为它用于有符号整数,但这里的问题来自 -00 的事实......你会必须找到解决方法,因为我认为您找不到针对该特定情况的干净简单的方法。