vnpy/trader/vtFunction.py
2017-06-11 21:41:04 +08:00

53 lines
1.4 KiB
Python

# encoding: UTF-8
"""
包含一些开发中常用的函数
"""
import os
import decimal
import json
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:
from trader.vtGlobal import globalSetting
host = globalSetting['mongoHost']
port = globalSetting['mongoPort']
logging = globalSetting['mongoLogging']
except:
host = 'localhost'
port = 27017
logging = False
return host, port, logging
#----------------------------------------------------------------------
def todayDate():
"""获取当前本机电脑时间的日期"""
return datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)