mirror of
https://gitee.com/fasiondog/hikyuu.git
synced 2024-12-05 05:17:47 +08:00
89 lines
1.9 KiB
C++
89 lines
1.9 KiB
C++
/*
|
||
* util.h
|
||
*
|
||
* Created on: 2009-11-20
|
||
* Author: fasiondog
|
||
*/
|
||
|
||
#pragma once
|
||
#ifndef HIKYUU_UTILIIES_UTIL_H_
|
||
#define HIKYUU_UTILIIES_UTIL_H_
|
||
|
||
#ifndef DATATYPE_H_
|
||
#include <string>
|
||
|
||
#ifndef HKU_API
|
||
#define HKU_API
|
||
#endif
|
||
|
||
#endif /* DATATYPE_H_ */
|
||
|
||
namespace hku {
|
||
|
||
#ifndef DATATYPE_H_
|
||
using std::string;
|
||
#endif
|
||
|
||
/**
|
||
* @ingroup Utilities
|
||
* @{
|
||
*/
|
||
|
||
#if defined(_MSC_VER)
|
||
string HKU_API utf8_to_gb(const char* szinput);
|
||
string HKU_API utf8_to_gb(const string& szinput);
|
||
string HKU_API gb_to_utf8(const char* szinput);
|
||
string HKU_API gb_to_utf8(const string& szinput);
|
||
#else
|
||
string HKU_API utf8_to_gb(const string& szinput);
|
||
string HKU_API gb_to_utf8(const string& szinput);
|
||
#endif
|
||
|
||
/**
|
||
* Windows平台下将字符串由UTF8转换为GB2312编码,
|
||
* Linux平台下不做任何事
|
||
* @note 为跨平台,源代码文件必须使用UTF8编码保存,程序中出现的
|
||
* 中文字符串,应使用HKU_STR,如:std::cout << HKU_STR("中国")
|
||
*/
|
||
#if defined(_MSC_VER) && (PY_VERSION_HEX < 0x03000000)
|
||
//将utf8编码的字符串转换为GB2312编码
|
||
#define UTF8ToGB utf8_to_gb
|
||
#define GBToUTF8 gb_to_utf8
|
||
#define HKU_STR(s) UTF8ToGB(s)
|
||
#else
|
||
#define HKU_STR(s) (s)
|
||
#define GBToUTF8(s) (s)
|
||
#define UTF8ToGB(s) (s)
|
||
#endif
|
||
|
||
|
||
/**
|
||
* 四舍五入,ROUND_HALF_EVEN 银行家舍入法
|
||
* @param number 待四舍五入的数据
|
||
* @param ndigits 保留小数位数
|
||
* @return 处理过的数据
|
||
*/
|
||
double HKU_API roundEx(double number, int ndigits=0);
|
||
|
||
/**
|
||
* 向上截取,如10.1截取后为11
|
||
* @param number 待处理数据
|
||
* @param ndigits 保留小数位数
|
||
* @return 处理过的数据
|
||
*/
|
||
double HKU_API roundUp(double number, int ndigits=0);
|
||
|
||
/**
|
||
* 向下截取,如10.1截取后为10
|
||
* @param number 待处理数据
|
||
* @param ndigits 保留小数位数
|
||
* @return 处理过的数据
|
||
*/
|
||
double HKU_API roundDown(double number, int ndigits=0);
|
||
|
||
|
||
/** @} */
|
||
} /* namespace */
|
||
|
||
#endif /* HIKYUU_UTILIIES_UTIL_H_ */
|