作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在加载一个 .obj 文件,其中包含如下行
vn 8.67548e-017 1 -1.55211e-016
用于顶点法线。我怎样才能检测到它们并将它们带入双重表示法?
最佳答案
一个运行良好的正则表达式是:
-?[\d.]+(?:e-?\d+)?
可以这样转换为数字:String in scientific notation C++ to double conversion ,我想。
正则表达式是
-? # an optional -
[\d.]+ # a series of digits or dots (see *1)
(?: # start non capturing group
e # "e"
-? # an optional -
\d+ # digits
)? # end non-capturing group, make optional
**1) 这不是 100% 正确,技术上只能有一个点,并且在它之前只有一个(或没有)数字。但实际上,这不应该发生。所以正则表达式是一个很好的近似值,误报的可能性很小。随意使正则表达式更具体。*
关于c++ - 科学计数法数字的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4479408/
我是一名优秀的程序员,十分优秀!