</pre></div></div></div><scripttype="text/javascript">AddLanguageTabSet("ID0EDCA");</script><h4class="subHeading">Parameters</h4><dl><dt><spanclass="parameter">rop</span></dt><dd>Type:<ahref="635f1879-5f85-881e-cca8-3222baf5045a.htm">Math.Gmp.Native<spanid="LSTC9786AA3_1"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_1?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpq_t</a><br/>The result rational.</dd><dt><spanclass="parameter">str</span></dt><dd>Type:<ahref="06249483-9daf-95f9-32c7-30195550bbcc.htm">Math.Gmp.Native<spanid="LSTC9786AA3_2"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_2?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>char_ptr</a><br/>The source string.</dd><dt><spanclass="parameter">base</span></dt><dd>Type:<ahref="http://msdn2.microsoft.com/en-us/library/td2s409d"target="_blank">System<spanid="LSTC9786AA3_3"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_3?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>Int32</a><br/>The base,</dd></dl><h4class="subHeading">Return Value</h4>Type:<ahref="http://msdn2.microsoft.com/en-us/library/td2s409d"target="_blank">Int32</a><br/>The return value is <spanclass="code">0</span> if the entire string is a valid number, or <spanclass="code">-1</span> if not.</div><divclass="collapsibleAreaRegion"><spanclass="collapsibleRegionTitle"onclick="SectionExpandCollapse('ID2RB')"onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)"tabindex="0"><imgid="ID2RBToggle"class="collapseToggle"src="../icons/SectionExpanded.png"/>Remarks</span></div><divid="ID2RBSection"class="collapsibleSection"><p>
The string can be an integer like <spanclass="code">"41"</span> or a fraction like <spanclass="code">"41/152"</span>.
The fraction must be in canonical form
(see <ahref="https://gmplib.org/manual/Rational-Number-Functions.html#Rational-Number-Functions">GNU MP - Rational Number Functions</a>),
or if not then <ahref="19d53697-65f1-2df5-62f3-988182af0c88.htm">mpq_canonicalize(mpq_t)</a> must be called.
</p><p>
The numerator and optional denominator are parsed the same as in <ahref="6a3819df-abc1-ceb1-a5c7-87a879977b8c.htm">mpz_set_str(mpz_t, char_ptr, Int32)</a>
(see <ahref="https://gmplib.org/manual/Assigning-Integers.html#Assigning-Integers">GNU MP - Assigning Integers</a>).
White space is allowed in the string, and is simply ignored.
The base can vary from <spanclass="code">2</span> to <spanclass="code">62</span>, or if <spanclass="parameter">base</span> is <spanclass="code">0</span> then the leading characters are used:
<spanclass="code">0x</span> or <spanclass="code">0X</span> for hex, <spanclass="code">0b</span> or <spanclass="code">0B</span> for binary, <spanclass="code">0</span> for octal, or decimal otherwise.
Note that this is done separately for the numerator and denominator, so for instance <spanclass="code">0xEF/100</span> is <spanclass="code">239/100</span>,
whereas <spanclass="code">0xEF/0x100</span> is <spanclass="code">239/256</span>.
</p></div><divclass="collapsibleAreaRegion"><spanclass="collapsibleRegionTitle"onclick="SectionExpandCollapse('ID3RB')"onkeypress="SectionExpandCollapse_CheckKey('ID3RB', event)"tabindex="0"><imgid="ID3RBToggle"class="collapseToggle"src="../icons/SectionExpanded.png"/>Examples</span></div><divid="ID3RBSection"class="collapsibleSection"><divclass="codeSnippetContainer"><divclass="codeSnippetContainerTabs"><divid="ID0EDAABA_tab1"class="codeSnippetContainerTab"><ahref="#"onclick="javascript:ChangeTab('ID0EDAABA','cs','1','4');return false;">C#</a></div><divid="ID0EDAABA_tab2"class="codeSnippetContainerTab"><ahref="#"onclick="javascript:ChangeTab('ID0EDAABA','vb','2','4');return false;">VB</a></div><divid="ID0EDAABA_tab3"class="codeSnippetContainerTabPhantom"><ahref="#"onclick="javascript:ChangeTab('ID0EDAABA','cpp','3','4');return false;">C++</a></div><divid="ID0EDAABA_tab4"class="codeSnippetContainerTabPhantom"><ahref="#"onclick="javascript:ChangeTab('ID0EDAABA','fs','4','4');return false;">F#</a></div></div><divclass="codeSnippetContainerCodeContainer"><divclass="codeSnippetToolBar"><divclass="codeSnippetToolBarText"><aid="ID0EDAABA_copyCode"href="#"class="copyCodeSnippet"onclick="javascript:CopyToClipboard('ID0EDAABA');return false;"title="Copy">Copy</a></div></div><divid="ID0EDAABA_code_Div1"class="codeSnippetContainerCode"style="display: block"><prexml:space="preserve"><spanclass="highlight-comment">// Create and initialize a new rational x.</span>
mpq_t x = <spanclass="highlight-keyword">new</span> mpq_t();
gmp_lib.mpq_init(x);
<spanclass="highlight-comment">// Set the value of x.</span>
gmp_lib.free(s);</pre></div><divid="ID0EDAABA_code_Div2"class="codeSnippetContainerCode"style="display: none"><prexml:space="preserve"></pre></div><divid="ID0EDAABA_code_Div3"class="codeSnippetContainerCode"style="display: none"><p>No code example is currently available or this language may not be supported.</p></div><divid="ID0EDAABA_code_Div4"class="codeSnippetContainerCode"style="display: none"><p>No code example is currently available or this language may not be supported.</p></div></div></div><scripttype="text/javascript">AddLanguageTabSet("ID0EDAABA");</script></div><divclass="collapsibleAreaRegion"id="seeAlsoSection"><spanclass="collapsibleRegionTitle"onclick="SectionExpandCollapse('ID4RB')"onkeypress="SectionExpandCollapse_CheckKey('ID4RB', event)"tabindex="0"><imgid="ID4RBToggle"class="collapseToggle"src="../icons/SectionExpanded.png"/>See Also</span></div><divid="ID4RBSection"class="collapsibleSection"><h4class="subHeading">Reference</h4><divclass="seeAlsoStyle"><ahref="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm">gmp_lib Class</a></div><divclass="seeAlsoStyle"><ahref="d9c51b9f-0c54-770b-28ea-6eebd8fef368.htm">Math.Gmp.Native Namespace</a></div><divclass="seeAlsoStyle"><ahref="19d53697-65f1-2df5-62f3-988182af0c88.htm">gmp_lib<spanid="LSTC9786AA3_4"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_4?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpq_canonicalize(mpq_t)</a></div><divclass="seeAlsoStyle"><ahref="dbf3d252-fd6d-455f-2ba7-4091845b86a7.htm">gmp_lib<spanid="LSTC9786AA3_5"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_5?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpq_init(mpq_t)</a></div><divclass="seeAlsoStyle"><ahref="8ab8ea40-9723-f0c8-18f4-9558c73397b9.htm">gmp_lib<spanid="LSTC9786AA3_6"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_6?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpq_inits(<spanid="LSTC9786AA3_7"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_7?cpp=array<");</script>mpq_t<spanid="LSTC9786AA3_8"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_8?cpp=>|cs=[]|vb=()|nu=[]|fs=[]");</script>)</a></div><divclass="seeAlsoStyle"><ahref="b69da354-160b-602a-4cc4-faf7ca423186.htm">gmp_lib<spanid="LSTC9786AA3_9"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_9?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpq_clear(mpq_t)</a></div><divclass="seeAlsoStyle"><ahref="cc2693e9-1cc5-3098-f2f7-bb05c8017f62.htm">gmp_lib<spanid="LSTC9786AA3_10"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_10?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpq_clears(<spanid="LSTC9786AA3_11"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_11?cpp=array<");</script>mpq_t<spanid="LSTC9786AA3_12"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_12?cpp=>|cs=[]|vb=()|nu=[]|fs=[]");</script>)</a></div><divclass="seeAlsoStyle"><ahref="9eac8ea9-0821-09b2-8091-e6638c562c7f.htm">gmp_lib<spanid="LSTC9786AA3_13"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_13?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpq_set(mpq_t, mpq_t)</a></div><divclass="seeAlsoStyle"><ahref="84d256a1-cd11-3bf9-3e8c-8a7e1980315d.htm">gmp_lib<spanid="LSTC9786AA3_14"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_14?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpq_set_z(mpq_t, mpz_t)</a></div><divclass="seeAlsoStyle"><ahref="915a7958-6821-bb64-468f-b0b48b351878.htm">gmp_lib<spanid="LSTC9786AA3_15"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_15?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpq_set_ui(mpq_t, UInt32, UInt32)</a></div><divclass="seeAlsoStyle"><ahref="ba898f37-20d0-a5cd-eff1-0663f18220dd.htm">gmp_lib<spanid="LSTC9786AA3_16"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_16?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpq_set_si(mpq_t, Int32, UInt32)</a></