如:  s1="29.3689";
   s2="18"  ;   s3="28"怎么样判断s1不在s2;s3之间??我这样写不行:if ( (s1>=s2) &&(s1<=s3))
   t=0;
if ( (s1<s2) &&(s1>s3))
   t=1;按说应该t=1可是执行却等于0??为什么??

解决方案 »

  1.   

    strcmp(str1,str2)
    或者
    str1.compare(str2)
      

  2.   

    29.3689 >= 18 && 29.3689 <= 28
    29.3689 < 18 && 29.3689 > 28
    这两个布尔表达式的值都为假,你得到的t值是你赋的初值。你把表达式写错了。
    应该是
    if ((s1>=s2) &&(s1<=s3))
       t=0;
    else
       t=1;
      

  3.   

    可以转换成float型比较
    如果你还要用str,再换回去
      

  4.   

    s1="29.3689";
    s2="18"  ;
    s3="28"
    字符串的比较首先是最高位2,1,2 :s1>s2,s1=s3 
    第二位9,8,8                   :s1>s2,s1>s3
    最终:s1>s2,s1>s3
          s3>s2