/// <summary> /// 桁下げ処理 /// </summary> /// <param name="str">桁下げしたい文字列</param> /// <param name="isDot">小数点フラグ</param> /// <returns>桁下げした文字列</returns> public static String DownDigit(String str, ref Boolean isDot) { // 小数点があるかどうかを調べる if (isDot == true) { // 小数点が一番右端にあるかどうかを判定 if (MyDetection.IsEndToDot(str) == true) { // 一番右端の場合は小数点フラグOFF // (小数点フラグだけが消える 表示は変わらない) isDot = false; } else { // 一番右端ではない場合は桁下げ str = str.Remove(str.Length - 1); } } else { // 表示用文字列が 0.ではないかどうか(0.の場合は何もしない) if (MyDetection.IsCalcFormat(str) == false) { // 一桁かどうか if (str.Length - 1 == 1) { str = Common.CALC_FORMAT; // 一桁の場合は 0.に表示を変える } else { str = str.Remove(str.Length - 2, 1); // それ以外は桁下げ } } } return(str); }
/// <summary> /// 桁区切り /// </summary> /// <param name="isSep">桁区切りのフラグ</param> /// <param name="str">桁区切りしたい文字列</param> /// <returns>桁区切りされた文字列</returns> public static String ThousandSeparator(Boolean isSep, String str) { String work = str; work = work.Replace(",", ""); // 桁区切りのフラグがONかどうか if (isSep) { // 右端が点(.)かどうか if (MyDetection.IsEndToDot(work)) { for (int i = work.Length - 4; i > 0; i -= 3) { work = work.Insert(i, ","); } } // 右端に点がない(値が少数である) else { for (int i = work.LastIndexOf('.') - 3; i > 0; i -= 3) { work = work.Insert(i, ","); } } } return(work); }