C# 格式转化

我们常用需要各种类型之间的数据转化问题,当然其本质还是取得存储空间的二进制数据,根据类型位数来转化。此处只取巧实现简单方法,仅能满足正常类型的转化。

比如一个string   str=“1024”;

我们想要转化为 int strInt = 1024;

那么我们可以:

    

    int strInt = str.intValue();
public static int intValue(this object obj) {
        if(obj != null && obj is string && string.IsNullOrEmpty(obj.ToString())) {
            return 0;
        }
        return Convert.ToInt32(atoi(obj));
    }

    private static object atoi(object input) {
        if(!(input is string)) {
            return input;
        }
        var filterResult = atoFilter(input.ToString(), IntFilter);
        if (string.IsNullOrEmpty(filterResult))
            filterResult = "0";
        return filterResult;
    }

    private static readonly string IntFilter = "+-0123456789";
    private static string atoFilter(string input, string validChars) {
        int i;
        string result = "";
        for(i = 0; i < input.Length; i++) {
            if(input[i] == ' ') {
                continue;
            }
            if(validChars.IndexOf(input[i]) >= 0) {
                result += input[i];
            } else break;
        }
        return result;
    }
如果转化为string

 

    public static string stringValue(this object obj) {
        return Convert.ToString(obj);
    }
其他的类似这种吧

 

猜你喜欢

转载自blog.csdn.net/struugle_guy/article/details/79283759
今日推荐