Go Linux bash环境下 字符串strings.Trim截取无效

复制代码
    result := "40%"
    if len(result) > 0 {
        fmt.Println("result:", result)
        numStr := strings.TrimSpace(strings.Trim(result, "%"))
        fmt.Println("numStr:", numStr)
        numFloat, err := strconv.ParseFloat(numStr, 4)
        if err != nil {
            fmt.Printf("strconv.ParseFloat Error:%v", err)
        }
        fmt.Println("float num:", numFloat)
    }
复制代码

Linux 下报错 strconv.ParseFloat Error:strconv.ParseFloat: parsing "40%": invalid syntaxfloat num: 0

仔细查看输出:要去掉的%没有去除成功

result: 33%

numStr: 33%
strconv.ParseFloat Error:strconv.ParseFloat: parsing "33%": invalid syntaxfloat num: 0

测试解决方法: 字符串后面加一个换行符\n 解决

numStr := strings.TrimSpace(strings.Trim(result, "%\n"))
复制代码
package main

import (
    "fmt"
    "os/exec"
    "strconv"
    "strings"
)

func main() {
    arg := "fping -C10 -p100  -b32 -t3000  -i100 8.8.8.8 | tail -n 1 | awk '{print $10}'"
    //arg := "fping -C10  -p100  -b32 -t3000  -i100 114.114.114.114 | tail -n 1 | awk '{print $10}'"
    // bash -c "fping -C10  -p100  -b32 -t3000  -i100 114.114.114.114 | tail -n 1 | awk '{print $10}
    //cmd := exec.Command("/bin/sh", "-c", arg)

    cmd := exec.Command("/bin/bash", "-c", arg)
    out, err := cmd.Output()
    if err != nil {
        fmt.Println(err)
    }
    result := string(out)
    if len(result) > 0 {
        fmt.Println("result:",result)
        numStr := strings.TrimSpace(strings.Trim(result,"%\n"))
        fmt.Println("numStr:",numStr)
        numFloat, err := strconv.ParseFloat(numStr, 4)
        if err != nil {
            fmt.Printf("strconv.ParseFloat Error:%v", err)
        }
        fmt.Println("float num:", numFloat)
    }
}
复制代码

 

posted on   zhangmingda  阅读(53)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示