public void setFormula(String formula) {
		
		// 組成式設定
		this.formula = formula;
		
		// 組成式からソート用組成式設定
		StringBuffer sortFormula = new StringBuffer();
		if (!formula.equals("") && formula.length() != 0) {
			
			int current = 0;									// 現文字インデックス
			int next = 0;										// 次文字インデックス
			char[] c = formula.toCharArray();					// 組成式文字配列
			String symbol = String.valueOf(c[current]);			// 原子記号
			String num = "";									// 原子数
			
			for (current=0; current<c.length; current++) {
				next = current + 1;
				
				// 次の文字が最後の文字、または大文字英数字の場合
				if (next == c.length || Character.isUpperCase(c[next])) {
					sortFormula.append(symbol);
					if (!num.equals("")) {
						sortFormula.append(numFormat.format(Integer.parseInt(num)));
					}
					else {
						sortFormula.append(numFormat.format(1));
					}
					// 次の文字が存在する場合
					if (next != c.length) {
						symbol = String.valueOf(c[next]);
						num = "";
					}
				}
				// 次の文字が小文字英数字の場合
				else if (Character.isLowerCase(c[next])) {
					symbol += String.valueOf(c[next]);
				}
				// 次の文字が数字の場合
				else if (Character.isDigit(c[next])) {
					num += String.valueOf(c[next]);
				}
			}
		}
		this.sortFormula = sortFormula.toString();
	}