26 lines
709 B
Python
26 lines
709 B
Python
|
# encoding: UTF-8
|
||
|
|
||
|
"""
|
||
|
包含一些开放中常用的函数
|
||
|
"""
|
||
|
|
||
|
import decimal
|
||
|
|
||
|
MAX_NUMBER = 1000000000
|
||
|
MAX_DECIMAL = 4
|
||
|
|
||
|
#----------------------------------------------------------------------
|
||
|
def safeUnicode(value):
|
||
|
"""检查接口数据潜在的错误,保证转化为的字符串正确"""
|
||
|
# 检查是数字接近0时会出现的浮点数上限
|
||
|
if type(value) is int or type(value) is float:
|
||
|
if value > MAX_NUMBER:
|
||
|
value = 0
|
||
|
|
||
|
# 检查防止小数点位过多
|
||
|
if type(value) is float:
|
||
|
d = decimal.Decimal(str(value))
|
||
|
if abs(d.as_tuple().exponent) > MAX_DECIMAL:
|
||
|
value = round(value, ndigits=MAX_DECIMAL)
|
||
|
|
||
|
return unicode(value)
|