StructureOnMars 2022-06-09 11:30 采纳率: 50%
浏览 21

wstring查找小数点位置,某些情况找不到返回-1. 是什么原因呢?

需要从编辑框中输入的字符串提取数字(double类型),然后对数字进行一些操作, 再转换回wstring类型,在编辑框中显示。
把double转为wstring后因为只想显示小数点后两位, 所以采用了查找“.”的位置, 然后对输出的wstring进行相应数量的popback。
当小数点位于wstring的前两个位置的时候, find返回-1,也就是没有找到。而其他情况都能正常的返回小数点位置。 实在是没有找到是哪里的位置。
希望给点建议!

std::wstring wst_tf = std::to_wstring(tf);
int pos = wst_tf.find(L".", sizeof(wchar_t));

比如说tf=15.5, 那么pos返回2, 没有问题。
但是当tf=0.5,则返回-1。

这是什么原因呢?

  • 写回答

3条回答 默认 最新

  • 真的小白啊 2022-06-09 12:05
    关注

    检查 find() 方法是否正确调用

    评论

报告相同问题?

问题事件

  • 创建了问题 6月9日

悬赏问题

  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥500 服务器搭建cisco AnyConnect vpn
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询
  • ¥15 校内二手商品转让网站
  • ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?