asp.net中如何将String转换为Float!!!!

时间:2022-07-31 08:59:51
asp.net中如何将String转换为Float!!!!如果String变量为整数,会保存,请高手指点!!!

18 个解决方案

#1


  Convert.ToDouble()

#2


float.Parse或者Convert.ToSingle 
Single就是float 

#3


引用 2 楼 wuyq11 的回复:
float.Parse或者Convert.ToSingle 
Single就是float

+1

#4


楼上的楼上正解。

#5


引用 2 楼 wuyq11 的回复:
float.Parse或者Convert.ToSingle 
Single就是float

ok

#6


引用 2 楼 wuyq11 的回复:
float.Parse或者Convert.ToSingle 
Single就是float

试过很多次了,如果String的值为整数,则报错。

#7


引用 6 楼 zhuxinpai 的回复:
引用 2 楼 wuyq11 的回复:
float.Parse或者Convert.ToSingle
Single就是float

试过很多次了,如果String的值为整数,则报错。

贴出你的代码 + 相关数据

#8


        /// <summary>
        /// string型转换为float型
        /// </summary>
        /// <param name="strValue">要转换的字符串</param>
        /// <param name="defValue">缺省值</param>
        /// <returns>转换后的int类型结果</returns>
        public static float StrToFloat(object strValue, float defValue)
        {
            if ((strValue == null) || (strValue.ToString().Length > 10))
            {
                return defValue;
            }

            float intValue = defValue;
            if (strValue != null)
            {
                bool IsFloat = new Regex(@"^([-]|[0-9])[0-9]*(\.\w*)?$").IsMatch(strValue.ToString());
                if (IsFloat)
                {
                    intValue = Convert.ToSingle(strValue);
                }
            }
            return intValue;
        }

#9


引用 2 楼 wuyq11 的回复:
float.Parse或者Convert.ToSingle 
Single就是float


学习了

#10


当输入值为整数时
float intValue = Convert.ToSingle("123");
并不会报错,很正常
唯一错的可能在于 
bool IsFloat = new Regex(@"^([-]|[0-9])[0-9]*(\.\w*)?$").IsMatch(strValue.ToString());
if (IsFloat)
这个判断正则不正确.导致输入了错误的值,也能验证通过

而且你的这个正则表达式一看就不太准确.

#11


int i = int.Parse(String);
float f = float.Parse(i/1.00);
试试

#12


引用 2 楼 wuyq11 的回复:
float.Parse或者Convert.ToSingle 
Single就是float
+++++++++++

#13


为空肯定会报错阿,你看有没有float.TryParse方法,可以在转换不成功的时候返回一个自定义的值

#14


引用 1 楼 damjmk2 的回复:
Convert.ToDouble()

Float.Parse();

#15


if (!float.TryParse(str, out result))
        {
            //异常处理
        }

#16


引用 8 楼 qianchang353902837 的回复:
        /// <summary>
        /// string型转换为float型
        /// </summary>
        /// <param name="strValue">要转换的字符串</param>
        /// <param name="defValue">缺省值</param>
        /// <returns>转……


dz里面扣出来的东西吧.

#17



public static float StrToFloat(object strValue, float defValue)
  {
  if ((strValue == null) || (strValue.ToString().Length > 10))
  {
  return defValue;
  }
  float result = 0;
if (float.TryParse(str, out result))
  {
  return result;
  }
 else
 {
   return defValue;
 }
}

#18



public static float StrToFloat(object strValue, float defValue)
  {
  if ((strValue == null) || (strValue.ToString().Length > 10))
  {
  return defValue;
  }
  float result = 0;
if (float.TryParse(strValue.toString(), out result))
  {
  return result;
  }
 else
 {
   return defValue;
 }
}

#1


  Convert.ToDouble()

#2


float.Parse或者Convert.ToSingle 
Single就是float 

#3


引用 2 楼 wuyq11 的回复:
float.Parse或者Convert.ToSingle 
Single就是float

+1

#4


楼上的楼上正解。

#5


引用 2 楼 wuyq11 的回复:
float.Parse或者Convert.ToSingle 
Single就是float

ok

#6


引用 2 楼 wuyq11 的回复:
float.Parse或者Convert.ToSingle 
Single就是float

试过很多次了,如果String的值为整数,则报错。

#7


引用 6 楼 zhuxinpai 的回复:
引用 2 楼 wuyq11 的回复:
float.Parse或者Convert.ToSingle
Single就是float

试过很多次了,如果String的值为整数,则报错。

贴出你的代码 + 相关数据

#8


        /// <summary>
        /// string型转换为float型
        /// </summary>
        /// <param name="strValue">要转换的字符串</param>
        /// <param name="defValue">缺省值</param>
        /// <returns>转换后的int类型结果</returns>
        public static float StrToFloat(object strValue, float defValue)
        {
            if ((strValue == null) || (strValue.ToString().Length > 10))
            {
                return defValue;
            }

            float intValue = defValue;
            if (strValue != null)
            {
                bool IsFloat = new Regex(@"^([-]|[0-9])[0-9]*(\.\w*)?$").IsMatch(strValue.ToString());
                if (IsFloat)
                {
                    intValue = Convert.ToSingle(strValue);
                }
            }
            return intValue;
        }

#9


引用 2 楼 wuyq11 的回复:
float.Parse或者Convert.ToSingle 
Single就是float


学习了

#10


当输入值为整数时
float intValue = Convert.ToSingle("123");
并不会报错,很正常
唯一错的可能在于 
bool IsFloat = new Regex(@"^([-]|[0-9])[0-9]*(\.\w*)?$").IsMatch(strValue.ToString());
if (IsFloat)
这个判断正则不正确.导致输入了错误的值,也能验证通过

而且你的这个正则表达式一看就不太准确.

#11


int i = int.Parse(String);
float f = float.Parse(i/1.00);
试试

#12


引用 2 楼 wuyq11 的回复:
float.Parse或者Convert.ToSingle 
Single就是float
+++++++++++

#13


为空肯定会报错阿,你看有没有float.TryParse方法,可以在转换不成功的时候返回一个自定义的值

#14


引用 1 楼 damjmk2 的回复:
Convert.ToDouble()

Float.Parse();

#15


if (!float.TryParse(str, out result))
        {
            //异常处理
        }

#16


引用 8 楼 qianchang353902837 的回复:
        /// <summary>
        /// string型转换为float型
        /// </summary>
        /// <param name="strValue">要转换的字符串</param>
        /// <param name="defValue">缺省值</param>
        /// <returns>转……


dz里面扣出来的东西吧.

#17



public static float StrToFloat(object strValue, float defValue)
  {
  if ((strValue == null) || (strValue.ToString().Length > 10))
  {
  return defValue;
  }
  float result = 0;
if (float.TryParse(str, out result))
  {
  return result;
  }
 else
 {
   return defValue;
 }
}

#18



public static float StrToFloat(object strValue, float defValue)
  {
  if ((strValue == null) || (strValue.ToString().Length > 10))
  {
  return defValue;
  }
  float result = 0;
if (float.TryParse(strValue.toString(), out result))
  {
  return result;
  }
 else
 {
   return defValue;
 }
}