golang 关于 Inf,-Inf,Infinity,-Infinity 等无穷大无穷小特殊字符转换问题
Posted ecake
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 关于 Inf,-Inf,Infinity,-Infinity 等无穷大无穷小特殊字符转换问题相关的知识,希望对你有一定的参考价值。
记录一个比较个例的问题,某天API突然写入数据失败,原因是数据库写入长度超出,并且从日志中发现了 "Infinity" 这样的特殊字符串
英语渣渣的我有懵,客户端发过来的数据,API都会转换为对应的数据类型,再进行数据库写入,如果是字符串,最多就转成0,怎么会长度超出
万变不离其宗,肉眼看不出的问题(哈哈 其实就是知识界有限),那就打断点,看看这个字符串究竟被转化成什么
可以看到,“Infinity” 通过 strconv.ParseFloat 转换为 +Inf ,即无穷大
后面通过尝试,发现 Inf,-Inf,Infinity,-Infinity 这些特殊字符串,都是可以被识别转换为无穷大无穷小
因为数据库设置的字段类型是 decimal ,写入无穷大的值,自然是长度超出
找到问题所在,那么接下来就是要解决啦
正常API业务处理,无论是 无穷大 还是 无穷小 都属于不合法的参数值,可按0处理
所以在 strconv.ParseFloat 加了个 判断 参数值 含英文字母,即返回 0
这是检查字符串是否含英文字母的工具方法
End.
night nice~~
关于WEB-INF目录下的静态资源(jscssimg)的访问
首先,需要明确的是WEB-INF目录是被保护起来的,其下的jsp页面不能直接运行,只能通过控制器跳转来访问;而同样在此目录下的静态资源(js、css、img)也不能被WEB-INF目录外的其他文件直接引用。
WEB-INF下的目录结构如图:
jsp文件夹下放的是jsp文件,static文件夹下放的是css,js,img等静态资源;
由于jsp文件夹与static文件夹都在WEB-INF目录下,故jsp文件夹下的jsp引入某js可通过相对路径访问:
<script src="../static/js/echarts.js"></script>
而在webContent目录下的jsp想要引入WEB-INF下的静态资源,则得通过springmvc的配置文件进行设置:
<mvc:resources mapping="/static/**" location="/WEB-INF/static/" />
可以理解为将/WEB-INF/static/目录映射为/static/目录,引入静态资源可通过以下的路径:
<link href="static/css/elegant-icons-style.css" rel="stylesheet" />
---------------------
作者:XGBYL
来源:CSDN
原文:https://blog.csdn.net/finger_c/article/details/80264337
版权声明:本文为博主原创文章,转载请附上博文链接!
以上是关于golang 关于 Inf,-Inf,Infinity,-Infinity 等无穷大无穷小特殊字符转换问题的主要内容,如果未能解决你的问题,请参考以下文章
关于WEB-INF目录下的静态资源(jscssimg)的访问