none
xp 金钱符号“ ¥” win7 金钱符号 “ ¥” 两种不一样啊!我用C#开发的程序.Replace("¥", "") 导致在两个系统出问题!怎么解决? RRS feed

  • 问题

  • xp 金钱符号“ ¥” win7 金钱符号 “ ¥”    两种不一样啊!我用C#开发的程序.Replace("¥", "") 导致在两个系统出问题!怎么解决?
    vc815
    2010年7月27日 9:39

答案

  • 有可能的话,最好定义一个公共常量,要不用¥,要不用¥。以后其它分支程序用到的时候统一用这个常量,易改易调试。


    如果在发现这样就可以用你说的方法了

    但是现在有什么便捷的方法。。。。。。。。。。。。?????


    vc815
    • 已标记为答案 vc815 2010年7月30日 4:01
    2010年7月29日 2:26

全部回复

  • 这个是字符,没有什么XP和Win7的区别。检查你的字符编码是否不同。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年7月28日 1:02
    版主
  • 这个是字符,没有什么XP和Win7的区别。检查你的字符编码是否不同。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP


    我的项目是在XP vs2005 中编写

    拿到WIN7下就报错 调试的时候 通过变量捕捉到的win7中的符号和

    原来在xp下编程的金钱符号Replace("¥", "")  不一样 应该是系统问题!?


    vc815
    2010年7月28日 1:09
  •             string version = System.Environment.OSVersion.Version.ToString().Substring(0,1);

                switch (version)
                {
                    case "5":

                        //XP中,使用¥
                        //同时楼主请判断2000和2003中是不是这个符号

                        break;


                    case "6":

                        //windows7,使用¥
                        //同时楼主请判断vista和2008、2008R2中是不是这个符号
                        break;
               
                }

    2010年7月28日 12:49
  • 检查你的输入法是全角还是半角状态

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年7月28日 15:51
    版主
  •             string version = System.Environment.OSVersion.Version.ToString().Substring(0,1);

                switch (version)
                {
                    case "5":

                        //XP中,使用¥
                        //同时楼主请判断2000和2003中是不是这个符号

                        break;


                    case "6":

                        //windows7,使用¥
                        //同时楼主请判断vista和2008、2008R2中是不是这个符号
                        break;
               
                }

    用到这个符号的地方太多了,如果都是这样更改太麻烦了,基本上都是靠这个符号截取字符串的!!

    vc815
    2010年7月29日 1:01
  • 检查你的输入法是全角还是半角状态

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP


    不是手工输入跟这个没关系吧

    这个符号是通过系统获取的!这些写在代码里的和输入法没关系


    vc815
    2010年7月29日 1:02
  • 有可能的话,最好定义一个公共常量,要不用¥,要不用¥。以后其它分支程序用到的时候统一用这个常量,易改易调试。
    2010年7月29日 1:28
    版主
  • 有可能的话,最好定义一个公共常量,要不用¥,要不用¥。以后其它分支程序用到的时候统一用这个常量,易改易调试。


    如果在发现这样就可以用你说的方法了

    但是现在有什么便捷的方法。。。。。。。。。。。。?????


    vc815
    • 已标记为答案 vc815 2010年7月30日 4:01
    2010年7月29日 2:26
  • 用Reflector在两个系统上检查你的IL。IL代码不应该变的。

     



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年7月29日 5:47
    版主