【语言-C++】CString 转换代码
来源:互联网 发布:淘宝上怎么货到付款 编辑:程序博客网 时间:2024/06/03 13:40
CStringConversion.h
#pragma once#include "afx.h"#include <string>using namespace std;//define #define ZERO_FLOAT0.000002//缩进两个Tab#define DefaultIndent 2namespace CStringCon{CStringConCString(float value);CStringConCString(double value);CStringConCString(int value);CStringConCStringChar(int value);CStringConCString(byte value);CStringConCString(long value);CString ConCString(DWORD value);CString ConCString(WORD value);CStringConCString(const char*pStr);CStringConCString(char*pStr);CStringConCString(const string& src);CStringConCStringTabNumber(int level = DefaultIndent);CStringConCStringScoreCap(float value);void Sample();};
CStringConversion.cpp
#include "StdAfx.h"#include "CStringConversion.h"//CStringConversionnamespace CStringCon{CString ConCStringTabNumber(int level){CString strTab = _T("");for (int i = 0; i < level; i++){strTab += _T("\t");//;/_T("\t");}return strTab;}CString ConCString(DWORD value){CString caption;caption.Format(_T("%u"),value);return caption;}CString ConCString( WORD value ){CString caption;caption.Format(_T("%u"),value);return caption;}CString ConCString( const char* pStr ){CString strResult = _T("");#ifdef _UNICODEUSES_CONVERSION;strResult.Format(_T("%s"), A2W(pStr));#elsestrResult.Format(_T("%s"), (pStr));#endifreturn strResult;}CString ConCString(int value){CString caption;caption.Format(_T("%d"),value);return caption;}CStringConCString(char*pStr){CString strResult = _T("");#ifdef _UNICODEUSES_CONVERSION;strResult.Format(_T("%s"), A2W(pStr));#elsestrResult.Format(_T("%s"), (pStr));#endifreturn strResult;}CStringConCString(const string& src){const char* pStr = src.c_str();CString strResult = _T("");#ifdef _UNICODEUSES_CONVERSION;strResult.Format(_T("%s"), A2W(pStr));#elsestrResult.Format(_T("%s"), (pStr));#endifreturn strResult;}CString ConCStringScoreCap(float value){if(value < -ZERO_FLOAT) {if(value < -1 - ZERO_FLOAT)return _T("incomplete");elsereturn _T(" ");}float tempvalue = (value + 0.5f);float tempvalue1 = (value * 10.0f +0.5f) / 10.0f;float tempvalue2 = (value * 100.0f +0.5f) / 100.0f;float tempvalue3 = (value * 1000.0f +0.5f) / 1000.0f;CString caption = _T("");if(fabs(tempvalue - value) < ZERO_FLOAT){caption.Format(_T("%d"),(int)value);}else if(fabs(tempvalue1 - value) < ZERO_FLOAT){caption.Format(_T("%.1f"),value + ZERO_FLOAT);}else if(fabs(tempvalue2 - value) < ZERO_FLOAT){caption.Format(_T("%.2f"),value + ZERO_FLOAT);}else{caption.Format(_T("%f"),value + ZERO_FLOAT );}return caption;}CString ConCString(double value){return ConCString((float)value);}CString ConCString(float value){//先这样,以后再解决//int nValue = (value * 100000 + 0.5);//value = nValue / 100000.0f;//value = -0.6999999f;BOOL bNegtive = (value < -ZERO_FLOAT);if(bNegtive == TRUE)value = - value;float tempvalue = (value + 0.5f);float tempvalue1 = (value * 10.0f +0.5f) / 10.0f;float tempvalue2 = (value * 100.0f +0.5f) / 100.0f;float tempvalue3 = (value * 1000.0f +0.5f) / 1000.0f;CString caption =_T("");if(fabs(tempvalue - value) < ZERO_FLOAT){caption.Format(_T("%d"),(int)value);}else if(fabs(tempvalue1 - value) < ZERO_FLOAT){caption.Format(_T("%.1f"),value + ZERO_FLOAT);}else if(fabs(tempvalue2 - value) < ZERO_FLOAT){caption.Format(_T("%.2f"),value + ZERO_FLOAT);}else if(fabs(tempvalue3 - value) < ZERO_FLOAT){caption.Format(_T("%.3f"),value + ZERO_FLOAT);}else{caption.Format(_T("%f"),value);}if(bNegtive == TRUE)caption = _T("-") + caption;return caption;}CString ConCString( long value ){CString str;str.Format(_T("%ld"),(int)value);return str;}CString ConCString( byte value ){CString str;str.Format(_T("0x%x"),value);return str;}CString ConCStringChar( int value ){CString str;str.Format(_T("%c"),value);return str;}void Sample(){CString tmp;tmp = ConCString(1.0f);OutputDebugString(tmp + L"\n");tmp = ConCString(-6.999999);OutputDebugString(tmp + L"\n");tmp = ConCString(0x0C8E);OutputDebugString(tmp + L"\n");tmp = ConCString(0x7FFFFFFF);OutputDebugString(tmp + L"\n");tmp = ConCString("少莫千华");OutputDebugString(tmp + L"\n");tmp = ConCString(19900823);OutputDebugString(tmp + L"\n");tmp = ConCString(19900823l);OutputDebugString(tmp + L"\n");tmp = ConCStringChar(8482);OutputDebugString(tmp + L"\n");tmp = ConCStringChar(8481);OutputDebugString(tmp + L"\n");tmp = ConCStringChar(8451);OutputDebugString(tmp + L"\n");tmp = ConCStringChar(8480);OutputDebugString(tmp + L"\n");tmp = ConCStringChar(8457);OutputDebugString(tmp + L"\n");tmp = ConCStringChar(8471);OutputDebugString(tmp + L"\n");tmp = ConCStringChar(169);OutputDebugString(tmp + L"\n");tmp = ConCStringChar(174);OutputDebugString(tmp + L"\n");for (int i = 13184;i<=13277 ;i++)tmp = ConCStringChar(i);OutputDebugString(tmp + L"\n");tmp = ConCStringTabNumber(10);OutputDebugString(tmp + L"开始\n");tmp = ConCStringScoreCap(-100.0f);OutputDebugString(tmp + L"\n");tmp = ConCStringScoreCap(99.56f);OutputDebugString(tmp + L"\n");}};
0 0
- 【语言-C++】CString 转换代码
- 【C语言】C代码注释转换
- 【语言-C++】std:string 转换代码
- 进制转换-c语言代码实战
- Variant类型转换成CString代码
- Variant类型转换成CString代码
- C++,CString,string,char*,int等转换
- C 日期增加 CString和CTime转换
- C++/MFC CString,string,char*转换
- C++/MFC-CString,String,CHAR*互相转换
- 如何将LabVIEW的VI转换为C语言代码
- C语言复习 第一波 进制转换代码
- TXL 代码语言转换
- [C语言教程]指针转换方式实现C语言的指针操作安全代码
- CString转换
- CString 转换
- CString 转换
- 二进制数与十进制数相互转换的C代码(C语言/C程序)
- nginx+tomcat实现web应用动静分离及负载均衡
- 优先级反转解决方案
- python每日知识点-变量
- 381. Insert Delete GetRandom O(1)
- ubuntu tftp 配置
- 【语言-C++】CString 转换代码
- Linux内存管理的基本框架(Linux内核源代码情景分析读书笔记连载)
- Linux 输入输出重定向
- split拆分小数点
- Android 目录结构
- java数据类型剖析
- 99%的简历都有这些问题,你是剩下的1%吗?
- some operator
- socket can 应用程序