/// <exception cref="Kirikiri.Tjs2.VariantException"></exception> public void AsNumber(Kirikiri.Tjs2.Variant targ) { if (mObject == null) { targ.Set(0); } else { if (mObject is Number) { // Integer or Double if (mObject is int) { targ.Set(((int)mObject)); } else { targ.Set(((Number)mObject)); } } else { if (mObject is string) { LexBase lex = new LexBase((string)mObject); Number num = lex.ParseNumber(); if (num != null) { if (num.IsInt()) { targ.Set(((int)num)); } else { targ.Set(((Number)num)); } } else { targ.Set(0); } } else { // convert error ThrowVariantConvertError(this, TYPE_INTEGER, TYPE_REAL); } } } }