- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
比如说,我有一个(德语)表达式,它显示为 10.401,40(in Mio EUR)
,我想将其转换为真正的 float (在本例中约为 100 亿) python 。
这是我到目前为止所拥有的:
import re, locale
from locale import *
locale.setlocale(locale.LC_ALL, 'de_DE')
string = "10.401,40 (in Mio EUR)"
m = re.search(r'([\d.,]+)', string)
if m is not None:
number = atof(m.group(1)) * 10**6
但是,它会引发 ValueError
(ValueError:float() 的无效文字:10.401.40
)。
为什么? .setlocale()
指令不是应该处理这个吗?有没有我(还!)不知道的 pythonic 方式?
最佳答案
我得到了相同的 ValueError
。作为this similar question说明,您需要在系统中安装德语语言环境。按照上面的步骤,我输入了 sudo dpkg-reconfigure locales
并选择了 de-DE.UTF-8
。我必须修改语言环境设置行以匹配 locale.setlocale(locale.LC_ALL, 'de_DE.utf8')
并让您的代码段运行。祝你好运!
关于具有本地输入的 Python atof,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35516947/
我需要将字符串转换为 float 。如果字符串不是数字,我希望返回 0。 我尝试使用以下代码测试 atof() 函数是否适用于此: printf("%f", atof("1a")); 根据我对atof
我写了一个atof函数,名为atof_beta。我运行它,但结果与atof的结果不一样。 例如:输入:1111111111111111111111111111111111111111111111111
我的 Atof 功能有问题。我正在尝试将字符串转换为 float ,但当我在 Coocox 软件的“调试”部分中尝试时,它没有给出任何错误,输出没有显示任何内容。我尝试了两个函数Atoi和Atof。当
示例.c: #include #include main() { char str[10] = "111.1"; float f = (float)atof(str); pri
我试图使用 atof() 将字符串转换为 double (显然),但结果不是我所期望的。以下是 atof() 之前有关变量值的代码和调试信息: d = atof (arg); next.db = d;
输入文件应以后缀顺序指定单个代数表达式,支持正浮点值和负浮点值以及以下运算:加法 (+)、减法 (-)、乘法 (*)、除法 (/)。所有浮点值和操作都应以空格分隔。我必须扫描以下行: 4 5 + 20
我有一个问题基本上让我感到困惑。首先,我有两个全局数组 - trustArray[] 和 fashionArray[]。这是填充 trustArray 的函数: void getTrust() {
我有一个例程,它获取指数格式的数字(例如 2,5E-02 或 4E+06)作为 QString。当我打印值时,我总是只得到整数,当它们小于 1 时,我总是得到 0。有谁知道我在这里做错了什么?(对于
我正在使用一个库将 Wavefront .obj 文件加载到我的 OpenGL 应用程序中 (tinyobjloader)。我注意到加载对象时出错。当我加载一个坐标为例如的对象时。 0.9999999
在我的 C++ 程序中,我需要创建一个名为 ComplexNumber 的类来保存复数的信息。我已经在头文件中编写了所有函数,并将这些函数移到了 .cpp 文件中。 我当前程序的 atof 函数不起作
我继承了一些代码(从已经离开的人那里)并找到了这个小片段: double minX = xVal.find('.') == string::npos ? (double)atoi(xVal.c_str
我似乎遇到了一些奇怪的问题,atof() 函数无法正确转换某些值。对于相同的值,atoi() 完美运行。 这是我正在做的事情的一小段: ... // frequencies is a std::str
我的问题如下。我尝试将字符串转换为 double 。这样: string str = "1.1"; double d = atof(str.c_str()); 但这不起作用,它只是返回 1; 但如果我
比如说,我有一个(德语)表达式,它显示为 10.401,40(in Mio EUR),我想将其转换为真正的 float (在本例中约为 100 亿) python 。 这是我到目前为止所拥有的: im
所以我使用 atof 将我的字符串转换为 double 。但我需要知道我是否输入错误(如 y564 等)。我怎样才能检查它?我需要正确的号码才能对其进行进一步操作。 double x = atof(s
using namespace std; int main(int argc, char *argv[]) { char c[] = {'0','.','5'}; //char c[]
我正在尝试使用 atof 在 c 语言中将字符数组转换为 double 组并接收不明确的输出。 printf("%lf\n",atof("5")); 打印 262144.000000 我惊呆了。有人可
我正在解析固定 NMEA 句子中的 GPS 状态条目,其中地理分钟的一小部分总是在句点之后。但是,在语言环境将逗号定义为小数分隔符的系统上,atof 函数会忽略句点和整数部分。 处理此问题的最佳方法是
我有一个 Arduino,它从我的智能手机(通过蓝牙)接收一条包含 unix 时间戳的消息。现在,我正在尝试将我的 DS1307 与该时间戳同步。 但是,它不起作用,因此,我开始搜索并在将包含时间戳的
我想我只是太笨了(我都试过了)。帮我离开这里: #include #include int main() { const char * y = "747.0"; double x;
我是一名优秀的程序员,十分优秀!