vnpy/vn.trader/vtFunction.py

50 lines
1.3 KiB
Python
Raw Normal View History

# encoding: UTF-8
"""
包含一些开放中常用的函数
"""
import decimal
import json
2016-05-05 13:52:11 +00:00
from datetime import datetime
MAX_NUMBER = 10000000000000
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)
#----------------------------------------------------------------------
def loadMongoSetting():
"""载入MongoDB数据库的配置"""
try:
f = file("VT_setting.json")
setting = json.load(f)
host = setting['mongoHost']
port = setting['mongoPort']
except:
host = 'localhost'
port = 27017
return host, port
2016-05-05 13:52:11 +00:00
#----------------------------------------------------------------------
def todayDate():
"""获取当前本机电脑时间的日期"""
return datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)