public RationalHandle Parse(string source, NumberStyles number_style, NumberFormatInfo number_format_info) { var native_number_style = (Int32)number_style; var native_number_format_info = new PMC_NUMBER_FORMAT_INFO(number_format_info ?? CultureInfo.CurrentCulture.NumberFormat); HandleResultCode((PMC_STATUS_CODE)PMCCS_Parse(source, native_number_style, native_number_format_info, out IntPtr r_handle)); return(new RationalHandle(r_handle)); }
public UBigIntHandle Parse(string source, NumberStyles number_style, NumberFormatInfo number_format_info) { var native_number_style = (int)number_style; var native_number_format_info = new PMC_NUMBER_FORMAT_INFO(number_format_info != null ? number_format_info : CultureInfo.CurrentCulture.NumberFormat); IntPtr r_handle; HandleResultCode((PMC_STATUS_CODE)PMCCS_Parse(source, native_number_style, native_number_format_info, out r_handle)); return(new UBigIntHandle(r_handle)); }
public string ToString(RationalHandle value, string format, NumberFormatInfo number_format_info) { var native_number_format_info = new PMC_NUMBER_FORMAT_INFO(number_format_info ?? CultureInfo.CurrentCulture.NumberFormat); HandleResultCode((PMC_STATUS_CODE)PMCCS_GetStringCount_R(value.NativeHandle, format, native_number_format_info, IntPtr.Zero, 0, out Int32 string_builder_capacity)); string_builder_capacity += 1; // 終端ヌル文字の分だけ増やす var temp_buf = new StringBuilder(string_builder_capacity); HandleResultCode((PMC_STATUS_CODE)PMCCS_ToString_R(value.NativeHandle, format, native_number_format_info, temp_buf, temp_buf.Capacity, out Int32 r)); return(temp_buf.ToString()); }
public bool TryParse(string source, NumberStyles number_style, NumberFormatInfo number_format_info, out RationalHandle value) { var native_number_style = (Int32)number_style; var native_number_format_info = new PMC_NUMBER_FORMAT_INFO(number_format_info ?? CultureInfo.CurrentCulture.NumberFormat); HandleResultCode((PMC_STATUS_CODE)PMCCS_TryParse(source, native_number_style, native_number_format_info, out IntPtr value_handle)); if (value_handle == IntPtr.Zero) { value = null; return(false); } value = new RationalHandle(value_handle); return(true); }
public bool TryParse(string source, NumberStyles number_style, NumberFormatInfo number_format_info, out UBigIntHandle value) { var native_number_style = (int)number_style; var native_number_format_info = new PMC_NUMBER_FORMAT_INFO(number_format_info != null ? number_format_info : CultureInfo.CurrentCulture.NumberFormat); UInt32 r_result; IntPtr value_handle; HandleResultCode((PMC_STATUS_CODE)PMCCS_TryParse(source, native_number_style, native_number_format_info, out value_handle, out r_result)); if (r_result == 0) { value = null; return(false); } value = new UBigIntHandle(value_handle, this); return(true); }
private static extern Int32 PMCCS_GetStringCount_X(IntPtr x, string format, [In] PMC_NUMBER_FORMAT_INFO format_option, IntPtr buffer, int buffer_size, out int size);
private static extern Int32 PMCCS_TryParse(string source, int number_styles, [In] PMC_NUMBER_FORMAT_INFO format_option, out IntPtr o);
private static extern Int32 PMCCS_ToString_X(IntPtr x, string format, [In] PMC_NUMBER_FORMAT_INFO format_option, StringBuilder buffer, int buffer_size, out int size);