拼搏的人生

          拼搏在繁華的都市

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            7 隨筆 :: 13 文章 :: 6 評論 :: 0 Trackbacks

          2006年5月16日 #

          方案一:Try...Catch(執行效率不高)
          /// <summary>
          /// 名稱:IsNumberic
          /// 功能:判斷輸入的是否是數字
          /// 參數:string oText:源文本
          /// 返回值: bool true:是 false:否
          /// </summary>
          /// <param name="oText"></param>
          /// <returns></returns>
          private bool IsNumberic(string oText)
          {
          try
          {
          int var1=Convert.ToInt32 (oText);
          return true;
          }
          catch
          {
          return false;
          }
          }

          方案二:正則表達式(推薦)
          a)
          using System;
          using System.Text.RegularExpressions;

          public bool IsNumber(String strNumber)
          {
          Regex objNotNumberPattern=new Regex("[^0-9.-]");
          Regex objTwoDotPattern=new Regex("[0-9]*[.][0-9]*[.][0-9]*");
          Regex objTwoMinusPattern=new Regex("[0-9]*[-][0-9]*[-][0-9]*");
          String strValidRealPattern="^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
          String strValidIntegerPattern="^([-]|[0-9])[0-9]*$";
          Regex objNumberPattern =new Regex("(" + strValidRealPattern +")|(" + strValidIntegerPattern + ")");

          return !objNotNumberPattern.IsMatch(strNumber) &&
          !objTwoDotPattern.IsMatch(strNumber) &&
          !objTwoMinusPattern.IsMatch(strNumber) &&
          objNumberPattern.IsMatch(strNumber);
          }

          b)
          public static bool IsNumeric(string value)
          {
          return Regex.IsMatch(value, @"^[+-]?\d*[.]?\d*$");
          }
          public static bool IsInt(string value)
          {
          return Regex.IsMatch(value, @"^[+-]?\d*$");
          }
          public static bool IsUnsign(string value)
          {
          return Regex.IsMatch(value, @"^\d*[.]?\d*$");
          }
          方案三:遍歷
          a)
          public bool isnumeric(string str)
          {
          char[] ch=new char[str.Length];
          ch=str.ToCharArray();
          for(int i=0;i<ch.Length;i++)
          {
          if(ch[i]<48 || ch[i]>57)
          return false;
          }
          return true;
          }

          b)
          public bool IsInteger(string strIn) {
          bool bolResult=true;
          if(strIn=="") {
          bolResult=false;
          }
          else {
          foreach(char Char in strIn) {
          if(char.IsNumber(Char))
          continue;
          else {
          bolResult=false;
          break;
          }
          }
          }
          return bolResult;
          }

          c)
          public static bool isNumeric(string inString)
          {
          inString=inString.Trim();
          bool haveNumber=false;
          bool haveDot=false;
          for(int i=0;i<inString.Length;i++)
          {
          if (Char.IsNumber(inString[i]))
          {
          haveNumber=true;
          }
          else if(inString[i]=='.')
          {
          if (haveDot)
          {
          return false;
          }
          else
          {
          haveDot=true;
          }
          }
          else if(i==0)
          {
          if(inString[i]!='+'&&inString[i]!='-')
          {
          return false;
          }
          }
          else
          {
          return false;
          }
          if(i>20)
          {
          return false;
          }
          }
          return haveNumber;
          }
          }

          方案四:改寫vb的IsNumeric源代碼(執行效率不高)

          //主調函數
          public static bool IsNumeric(object Expression)
          {
          bool flag1;
          IConvertible convertible1 = null;
          if (Expression is IConvertible)
          {
          convertible1 = (IConvertible) Expression;
          }
          if (convertible1 == null)
          {
          if (Expression is char[])
          {
          Expression = new string((char[]) Expression);
          }
          else
          {
          return false;
          }
          }
          TypeCode code1 = convertible1.GetTypeCode();
          if ((code1 != TypeCode.String) && (code1 != TypeCode.Char))
          {
          return Utils.IsNumericTypeCode(code1);
          }
          string text1 = convertible1.ToString(null);
          try
          {
          long num2;
          if (!StringType.IsHexOrOctValue(text1, ref num2))
          {
          double num1;
          return DoubleType.TryParse(text1, ref num1);
          }
          flag1 = true;
          }
          catch (Exception)
          {
          flag1 = false;
          }
          return flag1;
          }

          //子函數
          // return Utils.IsNumericTypeCode(code1);
          internal static bool IsNumericTypeCode(TypeCode TypCode)
          {
          switch (TypCode)
          {
          case TypeCode.Boolean:
          case TypeCode.Byte:
          case TypeCode.Int16:
          case TypeCode.Int32:
          case TypeCode.Int64:
          case TypeCode.Single:
          case TypeCode.Double:
          case TypeCode.Decimal:
          {
          return true;
          }
          case TypeCode.Char:
          case TypeCode.SByte:
          case TypeCode.UInt16:
          case TypeCode.UInt32:
          case TypeCode.UInt64:
          {
          break;
          }
          }
          return false;
          }


          //-----------------
          //StringType.IsHexOrOctValue(text1, ref num2))
          internal static bool IsHexOrOctValue(string Value, ref long i64Value)
          {
          int num1;
          int num2 = Value.Length;
          while (num1 < num2)
          {
          char ch1 = Value[num1];
          if (ch1 == '&')
          {
          ch1 = char.ToLower(Value[num1 + 1], CultureInfo.InvariantCulture);
          string text1 = StringType.ToHalfwidthNumbers(Value.Substring(num1 + 2));
          if (ch1 == 'h')
          {
          i64Value = Convert.ToInt64(text1, 0x10);
          }
          else if (ch1 == 'o')
          {
          i64Value = Convert.ToInt64(text1, 8);
          }
          else
          {
          throw new FormatException();
          }
          return true;
          }
          if ((ch1 != ' ') && (ch1 != '\u3000'))
          {
          return false;
          }
          num1++;
          }
          return false;
          }
          //----------------------------------------------------
          // DoubleType.TryParse(text1, ref num1);
          internal static bool TryParse(string Value, ref double Result)
          {
          bool flag1;
          CultureInfo info1 = Utils.GetCultureInfo();
          NumberFormatInfo info3 = info1.NumberFormat;
          NumberFormatInfo info2 = DecimalType.GetNormalizedNumberFormat(info3);
          Value = StringType.ToHalfwidthNumbers(Value, info1);
          if (info3 == info2)
          {
          return double.TryParse(Value, NumberStyles.Any, info2, out Result);
          }
          try
          {
          Result = double.Parse(Value, NumberStyles.Any, info2);
          flag1 = true;
          }
          catch (FormatException)
          {
          flag1 = double.TryParse(Value, NumberStyles.Any, info3, out Result);
          }
          catch (Exception)
          {
          flag1 = false;
          }
          return flag1;
          }

          方案五: 直接引用vb運行庫(執行效率不高)

          方法: 首先需要添加Visualbasic.runtime的引用
          代碼中Using Microsoft.visualbasic;
          程序中用Information.isnumeric("ddddd");
          posted @ 2006-07-19 22:11 Dalston.Young 閱讀(336) | 評論 (0)編輯 收藏

          ??? 我眼中的孫正義

            作者:馬云

            在產業最底谷的時候仍然堅定不移堅持理想的人不多,孫正義就是這樣一個在全世界難得一見的大智慧的人。

            “我說了6分鐘,孫正義給我3500萬美元。”
          ?? ?
          祝福親友 歌聲傳情?? ?夜深了,我們只去愛吧
          新浪愛問送你QQ車!?? ?用自己照片做新年臺歷!
          ?? ?

            “我沒想到錢來的那么輕松,他沒想到我不是來向他要錢的。”

            ……

            后來想起來,這是我一生中最戲劇化的一個場景。

             那是1999年10月的一天,我被安排與雅虎最大的股東、被稱為網絡風向標的軟銀老總孫正義見面。當時我經營的阿里巴巴還算不錯,我選擇投資人很慎重, 已經拒絕了38家風險投資商的資金,只接受了以高盛為首的投資集團500萬美元的投資,所以我并不缺錢。但是,從孫正義的眼神中,我知道我們一定要握手。

            孫正義和我說的第一句話是:“說說你的阿里巴巴吧!”于是我就開始講公司的目標,本來準備講一個小時,可是剛剛開始6分鐘,孫正義就從辦公室那一頭走過來,“我決定投資你的公司,你要多少錢?”

            我一下子蒙了,“我并沒有打算向你要錢啊。”

            我們對視了一小會兒,不約而同地呵呵笑了起來,四只手也緊緊地握在了一起。不用說話,彼此心里都知道,我們是一輩子的朋友,早就注定了的。

            我見過聰明的人物有很多,孫正義卻是其中最特別的。他神色木訥,說很古怪的英語,但是幾乎沒有一句多余的話,像金庸筆下的喬峰,有點大智若愚。

            我們都在這6分鐘內,明白對方是什么樣的人--迅速決斷、想做大事、說到做到。

            后來我才知道,軟銀每年接受700家公司的投資申請,只對其中70家公司投資,而孫正義只對其中一家親自談判,只對我在這么短的時間內做出了投資決定。

            他對我說:“保持你獨特的領導氣質,這是我為你投資的最重要的原因。”

            我一下子想起來,孫正義當年注資雅虎一億美元的時候,雅虎只有15個人,十分弱小,大概他也是看出了楊致遠的某些潛力。

            我對自己的能力極為自負,可是那次,孫正義給我上了一課,至今我都在研究:他銳利的投資眼光,是否來自神靈的賦予?

            我很榮幸有緣與孫正義先生握手。

            若是沒有這次握手,阿里巴巴和淘寶網的事業不會像今天這樣順利展開,尤其是在我收購雅虎中國的行動中。

            從孫正義投資阿里巴巴至今,一直十分信任我,幾乎完全沒有干預過企業的相關事務。他和我的理念一樣,就是要贏在未來,對阿里巴巴作長期的戰略考慮。我常在電話中和他開玩笑,阿里巴巴如果缺錢,我第一個電話肯定打給你。他說,你當然應該打給我啊。

            沒想到這樣的玩笑卻在現實中得到了解釋。在我收購雅虎中國的過程中,他主動讓出了3.5億美元的股份。

            有媒體評價孫正義的行為只是為了套現,但是很明顯的是,他投資的阿里巴巴和淘寶網目前都處在飛速發展時期,如果繼續投入資金,或者繼續持有原來的股份,將可以在很短的時間內和長期獲得更加豐厚的回報。當時3.5億美元的套現,對他而言,根本算不了什么。

            這種感覺,只有在我和他才能理解。雅虎、阿里巴巴、孫正義,都將錢押在了未來和信念上面。

            他對我說:“Jack,就是因為要跟你做一輩子的朋友,我才愿意退出。”

            這句話,在我眼里的價值,遠遠高出3.5億美元!

            在產業最底谷的時候仍然堅定不移堅持理想的人不多,孫正義就是這樣一個在全世界難得一見的大智慧的人。

            我要感謝井上篤夫先生,是他對孫正義長期的關注,并且用幾年的心血著作了《飛得更高》這本書,讓我以及所有讀者都認識了在現實生活中有血有肉的孫正義,也讓“我堅信,一切的成功都是緣于一個夢想和毫無根據的自信”!
          posted @ 2006-05-16 17:55 Dalston.Young 閱讀(215) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 徐州市| 封开县| 新建县| 乡宁县| 容城县| 上高县| 霍邱县| 沈丘县| 鹰潭市| 乌拉特后旗| 普洱| 玉门市| 常州市| 吴忠市| 榆中县| 弥勒县| 莲花县| 垣曲县| 平江县| 瓦房店市| 清镇市| 清流县| 遵义县| 磐石市| 长葛市| 新宾| 汤原县| 凌云县| 玉树县| 东阳市| 休宁县| 罗江县| 浦北县| 左贡县| 镇康县| 彰化县| 布尔津县| 师宗县| 安仁县| 丰城市| 通榆县|