{"id":384648,"date":"2024-06-29T05:38:21","date_gmt":"2024-06-29T05:38:21","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=384648"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=384648","title":{"rendered":"<span>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0447\u0438\u0441\u043b\u0430 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435<\/h2>\n<p>\u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0447\u0430\u0441\u0442\u044b\u0445 \u0440\u0443\u0442\u0438\u043d \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u0435\u043b \u0438\u0437 \u0441\u0442\u0440\u043e\u043a \u0442\u0435\u043a\u0441\u0442\u0430. \u0421\u0430\u043c\u044b\u0439 \u043d\u0430\u0438\u0432\u043d\u044b\u0439 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0432 \u044f\u0437\u044b\u043a\u0435 Java \u043f\u0440\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0447\u0438\u0441\u043b\u043e, \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>Double.parseDouble(String num)<\/code>. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d \u0438\u043c\u0435\u0435\u0442 \u0431\u0430\u0433\u0438 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 SDK, <a href=\"https:\/\/habr.com\/ru\/post\/234193\/\" rel=\"noopener noreferrer nofollow\">\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 Android<\/a>. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0443 \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u041c\u043e\u0436\u043d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u044b \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438, \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u044f \u0438\u043c \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043d\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438\u0437 \u0441\u0430\u043c\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<h2>\u0418\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430<\/h2>\n<p>\u0414\u0430\u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430. \u0412\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043b\u0438 \u043e\u043d\u0430 \u043a\u0430\u043a\u043e\u0435-\u043b\u0438\u0431\u043e <em>(\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435)<\/em> <em>\u0447\u0438\u0441\u043b\u043e<\/em>  \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u0412\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c <em>\u0437\u043d\u0430\u043a<\/em> \u0447\u0438\u0441\u043b\u0430. \u0412\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 <em>\u043c\u0430\u043d\u0442\u0438\u0441\u0441\u0443<\/em> \u0438 <em>\u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0443<\/em>, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438\u0445 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u0438 \u043f\u0435\u0440\u0435\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u0434\u0440\u0443\u0433 \u043d\u0430 \u0434\u0440\u0443\u0433\u0430.  \u0414\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0447\u0435\u0442\u044b\u0440\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f: \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u0443\u044e, \u0434\u0432\u043e\u0438\u0447\u043d\u0443\u044e, \u0432\u043e\u0441\u044c\u043c\u0435\u0440\u0438\u0447\u043d\u0443\u044e \u0438 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0438\u0440\u0438\u0447\u043d\u0443\u044e.<\/p>\n<p>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f, \u043a\u0440\u043e\u043c\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043f\u0440\u0435\u0444\u0438\u043a\u0441:<\/p>\n<ul>\n<li>\n<p><strong>0x<\/strong> \u0434\u043b\u044f 16-\u0440\u0438\u0447\u043d\u043e\u0439.<\/p>\n<\/li>\n<li>\n<p><strong>0c<\/strong> \u0434\u043b\u044f 8-\u0440\u0438\u0447\u043d\u043e\u0439.<\/p>\n<\/li>\n<li>\n<p><strong>0b<\/strong> \u0434\u043b\u044f \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0439.<\/p>\n<\/li>\n<\/ul>\n<p>\u0423 \u0447\u0438\u0441\u043b\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0434\u0430\u043d\u0430 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0442\u0440\u0438 \u0432\u0438\u0434\u0430 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u044b:<\/p>\n<ul>\n<li>\n<p><strong>&#8216;H&#8217; | &#8216;h&#8217;<\/strong> : \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0434\u043b\u044f 16-\u0440\u0438\u0447\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0431\u0443\u043a\u0432\u0430 E \u0443\u0436\u0435 \u0437\u0430\u043d\u044f\u0442\u0430 (\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0446\u0438\u0444\u0440\u043e\u0439 14 \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435).<\/p>\n<\/li>\n<li>\n<p><strong>&#8216;E&#8217;  | &#8216;e&#8217;<\/strong> : \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b, \u0447\u044c\u0451 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0438\u0436\u0435 14.<\/p>\n<\/li>\n<li>\n<p><strong>&#8216;P&#8217; | &#8216;p&#8217;<\/strong> : \u0434\u0432\u043e\u0438\u0447\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b.<\/p>\n<\/li>\n<\/ul>\n<h2>\u041f\u0438\u0448\u0435\u043c \u043a\u043e\u0434<\/h2>\n<p>\u0422\u0430\u043a \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0447\u0438\u0441\u043b\u043e \u0438\u0437 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f (\u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435) \u0432 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u0443\u044e. \u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e  \u043e\u0442\u0434\u0435\u043b\u044f\u0442\u044c \u0446\u0435\u043b\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043e\u0442 \u0442\u043e\u0439, \u0447\u0442\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 (\u0442\u043e\u0447\u043a\u0438). \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0437\u043d\u0430\u043a\u0430 \u0438 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0431\u0443\u0434\u0435\u0442 \u0434\u0430\u043d\u0430 \u043d\u0438\u0436\u0435.<\/p>\n<pre><code class=\"java\">public class ProcessNumber {   private static final String digits = \"0123456789ABCDEF\";         \/* \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 num \u0432 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0442\u0438\u043f\u0430 double        \u0438\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f base        \u041c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 (\u0432\u044b\u0445\u043e\u0434 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u0435\u043b)!      *\/     private static double parseNumber(String num, int base){         num = num.toUpperCase(); \/\/ digits are in UPPER_CASE         double val = 0;         int i = 0;         while(i &lt; num.length()) \/\/ \u043f\u043e\u043a\u0430 \u043d\u0435 \u043a\u043e\u043d\u0447\u0438\u043b\u0430\u0441\u044c \u0441\u0442\u0440\u043e\u043a\u0430         {             char c = num.charAt(i);             if(c == '.') { \/\/ \u043d\u0430\u0448\u043b\u0438 \u0442\u043e\u0447\u043a\u0443 '.'                 i++; \/\/ \u041f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0438 \u0432\u044b\u0439\u0442\u0438 \u0438\u0437 \u0446\u0438\u043a\u043b\u0430.                  break;             }             int d = digits.indexOf(c); \/\/ \u0418\u043d\u0434\u0435\u043a\u0441\u044b \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u0441 \u0447\u0438\u0441\u043b\u0430\u043c\u0438 \u0438\u0437 [0..15]             if(d == -1 || d >= base)                 return Double.NaN;             val = base * val + d;             i++;         }                int power = 1; \/\/ \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043b\u0438\u0448\u043d\u0438\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a.         while(i &lt; num.length())         {             char c = num.charAt(i);             int d = digits.indexOf(c);             if(d == -1 || d >= base)                 return Double.NaN;             power *= base; \/\/ \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443              val = base * val + d;             i++;         }         return val \/ power;     }     }<\/code><\/pre>\n<p>\u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u0435\u0442\u043e\u0434 <strong>parseNumber() <\/strong>\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u043d\u0443 \u0437\u0430\u0434\u0430\u0447\u0443. \u041e\u043d \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 <em>num<\/em> \u0432 \u0447\u0438\u0441\u043b\u043e \u0442\u0438\u043f\u0430 <strong>double<\/strong>, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f <em>base<\/em>. \u0415\u0441\u043b\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 <em>num<\/em>, \u0442\u043e \u043c\u0435\u0442\u043e\u0434 \u0432\u0435\u0440\u043d\u0451\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443 \u043a\u043b\u0430\u0441\u0441\u0430 Double <strong>\u043d\u0435-\u0447\u0438\u0441\u043b\u043e<\/strong> (<em>NaN &#8212; Not a Number<\/em>).<\/p>\n<p>\u0421\u0430\u043c\u043e\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0443 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 <strong>\u0431\u0435\u0437 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0437\u043d\u0430\u043a\u0430, \u0438 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430<\/strong> <strong>\u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f<\/strong> <strong>\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f<\/strong>. \u0418\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0437\u0430\u0440\u0430\u043d\u0435\u0435. \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0437\u043d\u0430\u043a \u043c\u0438\u043d\u0443\u0441 (<code>'-'<\/code>) \u0442\u043e \u0447\u0438\u0441\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043c\u043d\u043e\u0436\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043c\u0438\u043d\u0443\u0441 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 (<code>-1<\/code>). \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430, \u0442\u043e \u0447\u0438\u0441\u043b\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043c\u043d\u043e\u0436\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043d\u0435\u0451. \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0438\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044e, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u043c \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b. \u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u044b\u0431\u043e\u0440 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0438\u0437 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0443\u044e \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0443 \u0438 \u043c\u0438\u043d\u0443\u0441 \u0435\u0434\u0438\u043d\u0438\u0446\u0443, \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e.<\/p>\n<pre><code class=\"java\">public class ProcessNumber {   \/\/ ... parseNumber(String str, int base) { ... }    \/* num - \u0427\u0438\u0441\u043b\u043e    e - \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430     et - \u0442\u0438\u043f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b      base - \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f      sign - \u0437\u043d\u0430\u043a \u0447\u0438\u0441\u043b\u0430 (num > 0 => positive, num &lt; 0 => negative).      esign - \u0437\u043d\u0430\u043a \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b. *\/ public static double parse(String num, String e, char et,                              int base, int sign, int esign)   {         if(num == null || num.length() == 0 || base &lt; 1) \/\/ null \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f => NaN.             return Double.NaN;          double exp = 1; \/\/ \u042d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430    \/\/ \u0414\u0432\u043e\u0438\u0447\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 (\u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044e 2)         if((et == 'P' || et == 'p') &amp;&amp; e != null &amp;&amp; e.length() > 0)             exp = Math.pow(2.0, parseNumber(e, 10));      \/\/ \u0414\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430  (\u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044e 10)         else if( (et == 'E' || et == 'e' || et == 'H' || et == 'h')                   &amp;&amp; e != null &amp;&amp; e.length() > 0)             exp = Math.pow(10.0, parseNumber(e, 10));      \/\/e == null or e.length() == 0.         \/\/ \u0423\u043a\u0430\u0437\u0430\u043d \u0442\u0438\u043f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u043d\u043e \u0441\u0430\u043c\u0430 \u043e\u043d\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442          else if(et == 'E' || et == 'e' || et == 'H' || et == 'h'                 || et == 'P' || et == 'p')         {             return Double.NaN;         }         else \/\/ et is not [PpEeHh] => ignore exponent (exp == 1) (\u041d\u0435\u0442 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b)             exp = 1;          if(esign &lt; 0)       exp = 1 \/ exp;          double result = parseNumber(num, base); \/\/ \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c.        result = (result == Double.NaN) ? result : result * exp;              if(sign &lt; 0) result = 0 - result; \/\/make number negative (include minus sign)      return result; } }<\/code><\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434\u0443 <strong>parse()<\/strong> \u0443\u0436\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0447\u0438\u0441\u043b\u0430, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e: \u0441\u0430\u043c\u043e \u0447\u0438\u0441\u043b\u043e <em>num<\/em>, \u0435\u0433\u043e \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 <em>e<\/em>, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b <em>et<\/em>, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0430\u043c\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 <em>base<\/em> \u0438 \u0437\u043d\u0430\u043a \u0447\u0438\u0441\u043b\u0430 <em>sign<\/em>. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043c\u0435\u0442\u043e\u0434\u0435 \u0443\u0436\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0437\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0433\u0434\u0430 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0440\u0430\u0432\u043d\u0430 <strong>null<\/strong>, \u043d\u043e \u0443\u043a\u0430\u0437\u0430\u043d \u0435\u0451 \u0442\u0438\u043f, \u0438\u043b\u0438 \u043a\u043e\u0433\u0434\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c (\u043c\u0435\u043d\u044c\u0448\u0435 \u0435\u0434\u0438\u043d\u0438\u0446\u044b)). \u0412 \u043f\u0440\u043e\u0441\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0441\u0442\u0440\u043e\u043a\u0430 \u0440\u0430\u0432\u043d\u0430 <strong>null<\/strong>, \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0432\u0435\u0440\u043d\u0451\u0442 \u043d\u0435-\u0447\u0438\u0441\u043b\u043e (NaN). \u041c\u0435\u0442\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443, \u043e\u043d \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0438 \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f <em>result<\/em>, \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a (\u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0438 \u0441\u0430\u043c\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0431\u0435\u0437 \u043d\u0435\u0451) \u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0437\u043d\u0430\u043a\u0430 <em>sign<\/em>. \u0410 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 <strong>processNumber()<\/strong> \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0432 \u0447\u0438\u0441\u043b\u043e.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u043a, \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0443 \u0438 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041d\u0438\u0436\u0435 \u0434\u0430\u043d \u0435\u0433\u043e \u043a\u043e\u0434.<\/p>\n<pre><code class=\"java\">public class ProcessNumber {   ... \/\/ parseNumber(String num, int base) { ... }  \/\/ parse(String num, String exp, char etype, int base, int sign) { ... }    \/* \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 parseNumber(String num, int base)      \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 base, \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0443 e, \u0438 \u0435\u0451 \u0442\u0438\u043f, \u0430 \u0442\u0430\u043a\u0436\u0435      \u0437\u043d\u0430\u043a \u0447\u0438\u0441\u043b\u0430 sign. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f, \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b      \u043c\u0435\u0442\u043e\u0434\u0443 parse(), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u044b\u0431\u043e\u0440 (\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434) \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0435\u0439      \u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0443\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 parseNumber(num, base).   *\/   public static double parseNumber(String str){         if(str == null || str.length() == 0) \/\/null is NaN.             return Double.NaN;            int sign = 1; \/\/ \u0437\u043d\u0430\u043a \u0447\u0438\u0441\u043b\u0430.     int esign = 1; \/\/ \u0437\u043d\u0430\u043a \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b.         int base = 10; \/\/ \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u0432\u043d\u043e 10.         int i = 0;         if(str.charAt(0) == '-') { \/\/ \u041c\u0438\u043d\u0443\u0441 -> sign &lt; 0.             sign = -1;             i = 1; \/\/ \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0437\u043d\u0430\u043a\u0443.         }         if(i > 0 &amp;&amp; i == str.length()) \/\/str is '-' (\u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 '-')             return Double.NaN;          \/\/ suffix '0x' => 16 (hex)         if(str.charAt(i) == '0' &amp;&amp; (i + 1 != str.length()) &amp;&amp; str.charAt(i + 1) == 'x') {             base = 16;             i += 2;         }         \/\/suffix '0b' => 2 (binary)         else if(str.charAt(i) == '0' &amp;&amp; (i + 1 != str.length()) &amp;&amp; str.charAt(i + 1) == 'b') {             base = 2;             i += 2;         }         \/\/suffix '0c' => 8 (octal)         else if(str.charAt(i) == '0' &amp;&amp; (i + 1 != str.length()) &amp;&amp; str.charAt(i + 1) == 'c'){             base = 8;             i += 2;         }         if(i == str.length())\/\/ \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u0438\u0434\u0430 (-0x -0b -0c 0x 0b 0c)             return Double.NaN;          \/\/\u0412\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0443.         int idx = str.indexOf('H');         idx = (idx == -1) ? str.indexOf('h') : idx;         idx = (idx == -1) ? str.indexOf('P') : idx;         idx = (idx == -1) ? str.indexOf('p') : idx;         idx = (idx == -1 &amp;&amp; base != 16) ? str.indexOf('E') : idx;         idx = (idx == -1 &amp;&amp; base != 16) ? str.indexOf('e') : idx;          char etype = (idx == -1) ? 'N' : str.charAt(idx);        \/\/\u041a\u043e\u0433\u0434\u0430 \u043d\u0435\u0442 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b (idx + 1) == 0.         if(idx + 1 == str.length())\/\/ no more digits after exponent letter ('12E' or 'FFP')             return Double.NaN;          String exp = null;          \/\/\u041e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430, \u043d\u043e \u043d\u0435\u0442 \u0446\u0438\u0444\u0440 'E-' or 'P-' or 'h-'     if(str.charAt(idx + 1) == '-' &amp;&amp; idx != -1 &amp;&amp; idx + 2 == str.length())         return Double.NaN;            \/\/\u041e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430. 'E-2' or 'p-10'     if(str.charAt(idx + 1) == '-' &amp;&amp; idx != -1){          exp = str.substring(idx + 2);          esign = -1;      }     else         exp = str.substring(idx + 1); \/\/\u041f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 (\u043f\u043e\u0441\u043b\u0435 idx \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0446\u0438\u0444\u0440\u0430)          idx = (idx == -1) ? str.length() : idx; \/\/if no exponent then idx &lt;- length(str)          String number = str.substring(i, idx);         return parse(number, exp, etype, base, sign, esign); } }<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0441\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 <strong>null<\/strong>-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0414\u0430\u043b\u0435\u0435, \u0435\u0441\u043b\u0438 \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0435 <strong>null<\/strong> \u0438 \u0438\u043c\u0435\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u044b, \u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0435\u0451 \u0441\u0430\u043c\u044b\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b. \u0415\u0441\u043b\u0438 \u043e\u043d \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u043a \u043c\u0438\u043d\u0443\u0441\u0430 (<code>'-'<\/code>) \u0442\u043e \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u044c <em>sign<\/em> \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0440\u0430\u0432\u0435\u043d (-1). \u0418\u043d\u0430\u0447\u0435 \u043e\u043d \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0440\u0430\u0432\u0435\u043d 1. \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u043a\u0430 \u0438\u0434\u0451\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u043e \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0443 \u0441\u0442\u0440\u043e\u043a\u0438. \u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430, \u0441\u043d\u043e\u0432\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0441\u0442\u0430\u0432\u0448\u0435\u0439\u0441\u044f \u0447\u0430\u0441\u0442\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435. \u0415\u0441\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u043d\u0435\u0442, \u0442\u043e \u043e\u043f\u044f\u0442\u044c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0435-\u0447\u0438\u0441\u043b\u043e (<em>NaN<\/em>). \u0415\u0441\u043b\u0438 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u0442\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 <em>base<\/em> \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0432\u043d\u044b\u043c 10. \u0417\u0430\u0442\u0435\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 <em>exp<\/em> \u0447\u0438\u0441\u043b\u0430 \u0438 \u0438\u043d\u0434\u0435\u043a\u0441 <em>idx<\/em> \u0435\u0451 \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u043b\u044f \u0435\u0451 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438. \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434\u0443 <strong>parse()<\/strong>.<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>\u041c\u0435\u0442\u043e\u0434 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0445\u043e\u0440\u043e\u0448, \u043d\u043e \u0435\u0449\u0451 \u043d\u0435 \u0438\u0434\u0435\u0430\u043b\u0435\u043d. \u041f\u0440\u0438 \u0432\u044b\u0445\u043e\u0434\u0435 \u0438\u0437 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 (\u0430 \u0438\u043c\u0435\u043d\u043d\u043e, \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430, \u043a\u043e\u0433\u0434\u0430 \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442). \u041e\u043d \u043c\u0438\u043d\u0443\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 NumberFormatException, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044f \u043d\u0435-\u0447\u0438\u0441\u043b\u043e <em>NaN<\/em> \u043a\u043e\u0433\u0434\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b (\u043d\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0439 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0443 \u0446\u0438\u0444\u0440 \u0432 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438) \u0430 \u0442\u0430\u043a\u0436\u0435 NullPointerException, \u0442\u0430\u043a \u043a\u0430\u043a \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 <strong>null<\/strong> (\u0441\u0432\u043e\u0434\u044f\u0449\u0438\u0435\u0441\u044f \u043a \u0437\u0430\u043c\u0435\u043d\u0435 <strong>null<\/strong> \u043d\u0430 <em>NaN<\/em>).<\/p>\n<p>\u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u0442\u0430\u043a\u0436\u0435 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0441\u0430\u043c\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 <strong>processNumber(String num) <\/strong>\u0438\u043c\u0435\u0435\u0442 \u043c\u0435\u0441\u0442\u043e \u0443\u0436\u0435 \u0441 \u0433\u043e\u0442\u043e\u0432\u043e\u0439 \u043b\u0435\u043a\u0441\u0435\u043c\u043e\u0439 <em>num<\/em>, <strong>\u043b\u0438\u0448\u0451\u043d\u043d\u043e\u0439 \u043b\u0438\u0448\u043d\u0438\u0445 \u043f\u0440\u043e\u0431\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432. <\/strong>\u041f\u0440\u0438 \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0437\u043d\u0430\u043a\u0430 \u0447\u0438\u0441\u043b\u0430 (\u043c\u0438\u043d\u0443\u0441\u0430), \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u0441\u043d\u043e\u0432\u0430 <em>NaN<\/em>. \u0422\u0430\u043a\u0436\u0435, \u0435\u0441\u043b\u0438 \u0441\u0430\u043c\u0430 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 <em>NaN<\/em> \u0442\u043e \u0438 \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 <em>NaN<\/em>. \u041e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043b\u0438\u0434\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u043d\u0443\u043b\u0435\u0439 \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u0447\u0438\u0441\u043b\u0430.<\/p>\n<p>\u0414\u0430\u043d\u043d\u0443\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u0443 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u0436\u0435 \u0441 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0435\u0439 \u0441\u0442\u0440\u043e\u043a (\u0446\u0435\u043f\u043e\u0447\u0435\u043a), \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0438\u0437 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/575456\/\"> https:\/\/habr.com\/ru\/articles\/575456\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435<\/h2>\n<p>\u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0447\u0430\u0441\u0442\u044b\u0445 \u0440\u0443\u0442\u0438\u043d \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u0435\u043b \u0438\u0437 \u0441\u0442\u0440\u043e\u043a \u0442\u0435\u043a\u0441\u0442\u0430. \u0421\u0430\u043c\u044b\u0439 \u043d\u0430\u0438\u0432\u043d\u044b\u0439 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0432 \u044f\u0437\u044b\u043a\u0435 Java \u043f\u0440\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0447\u0438\u0441\u043b\u043e, \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>Double.parseDouble(String num)<\/code>. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d \u0438\u043c\u0435\u0435\u0442 \u0431\u0430\u0433\u0438 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 SDK, <a href=\"https:\/\/habr.com\/ru\/post\/234193\/\" rel=\"noopener noreferrer nofollow\">\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 Android<\/a>. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0443 \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u041c\u043e\u0436\u043d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u044b \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438, \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u044f \u0438\u043c \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043d\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438\u0437 \u0441\u0430\u043c\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<h2>\u0418\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430<\/h2>\n<p>\u0414\u0430\u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430. \u0412\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043b\u0438 \u043e\u043d\u0430 \u043a\u0430\u043a\u043e\u0435-\u043b\u0438\u0431\u043e <em>(\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435)<\/em> <em>\u0447\u0438\u0441\u043b\u043e<\/em>  \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u0412\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c <em>\u0437\u043d\u0430\u043a<\/em> \u0447\u0438\u0441\u043b\u0430. \u0412\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 <em>\u043c\u0430\u043d\u0442\u0438\u0441\u0441\u0443<\/em> \u0438 <em>\u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0443<\/em>, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438\u0445 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u0438 \u043f\u0435\u0440\u0435\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u0434\u0440\u0443\u0433 \u043d\u0430 \u0434\u0440\u0443\u0433\u0430.  \u0414\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0447\u0435\u0442\u044b\u0440\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f: \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u0443\u044e, \u0434\u0432\u043e\u0438\u0447\u043d\u0443\u044e, \u0432\u043e\u0441\u044c\u043c\u0435\u0440\u0438\u0447\u043d\u0443\u044e \u0438 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0438\u0440\u0438\u0447\u043d\u0443\u044e.<\/p>\n<p>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f, \u043a\u0440\u043e\u043c\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043f\u0440\u0435\u0444\u0438\u043a\u0441:<\/p>\n<ul>\n<li>\n<p><strong>0x<\/strong> \u0434\u043b\u044f 16-\u0440\u0438\u0447\u043d\u043e\u0439.<\/p>\n<\/li>\n<li>\n<p><strong>0c<\/strong> \u0434\u043b\u044f 8-\u0440\u0438\u0447\u043d\u043e\u0439.<\/p>\n<\/li>\n<li>\n<p><strong>0b<\/strong> \u0434\u043b\u044f \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0439.<\/p>\n<\/li>\n<\/ul>\n<p>\u0423 \u0447\u0438\u0441\u043b\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0434\u0430\u043d\u0430 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0442\u0440\u0438 \u0432\u0438\u0434\u0430 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u044b:<\/p>\n<ul>\n<li>\n<p><strong>&#8216;H&#8217; | &#8216;h&#8217;<\/strong> : \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0434\u043b\u044f 16-\u0440\u0438\u0447\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0431\u0443\u043a\u0432\u0430 E \u0443\u0436\u0435 \u0437\u0430\u043d\u044f\u0442\u0430 (\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0446\u0438\u0444\u0440\u043e\u0439 14 \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435).<\/p>\n<\/li>\n<li>\n<p><strong>&#8216;E&#8217;  | &#8216;e&#8217;<\/strong> : \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b, \u0447\u044c\u0451 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0438\u0436\u0435 14.<\/p>\n<\/li>\n<li>\n<p><strong>&#8216;P&#8217; | &#8216;p&#8217;<\/strong> : \u0434\u0432\u043e\u0438\u0447\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b.<\/p>\n<\/li>\n<\/ul>\n<h2>\u041f\u0438\u0448\u0435\u043c \u043a\u043e\u0434<\/h2>\n<p>\u0422\u0430\u043a \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0447\u0438\u0441\u043b\u043e \u0438\u0437 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f (\u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435) \u0432 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u0443\u044e. \u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e  \u043e\u0442\u0434\u0435\u043b\u044f\u0442\u044c \u0446\u0435\u043b\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043e\u0442 \u0442\u043e\u0439, \u0447\u0442\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 (\u0442\u043e\u0447\u043a\u0438). \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0437\u043d\u0430\u043a\u0430 \u0438 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0431\u0443\u0434\u0435\u0442 \u0434\u0430\u043d\u0430 \u043d\u0438\u0436\u0435.<\/p>\n<pre><code class=\"java\">public class ProcessNumber {   private static final String digits = \"0123456789ABCDEF\";         \/* \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 num \u0432 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0442\u0438\u043f\u0430 double        \u0438\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f base        \u041c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 (\u0432\u044b\u0445\u043e\u0434 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u0435\u043b)!      *\/     private static double parseNumber(String num, int base){         num = num.toUpperCase(); \/\/ digits are in UPPER_CASE         double val = 0;         int i = 0;         while(i &lt; num.length()) \/\/ \u043f\u043e\u043a\u0430 \u043d\u0435 \u043a\u043e\u043d\u0447\u0438\u043b\u0430\u0441\u044c \u0441\u0442\u0440\u043e\u043a\u0430         {             char c = num.charAt(i);             if(c == '.') { \/\/ \u043d\u0430\u0448\u043b\u0438 \u0442\u043e\u0447\u043a\u0443 '.'                 i++; \/\/ \u041f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0438 \u0432\u044b\u0439\u0442\u0438 \u0438\u0437 \u0446\u0438\u043a\u043b\u0430.                  break;             }             int d = digits.indexOf(c); \/\/ \u0418\u043d\u0434\u0435\u043a\u0441\u044b \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u0441 \u0447\u0438\u0441\u043b\u0430\u043c\u0438 \u0438\u0437 [0..15]             if(d == -1 || d >= base)                 return Double.NaN;             val = base * val + d;             i++;         }                int power = 1; \/\/ \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043b\u0438\u0448\u043d\u0438\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a.         while(i &lt; num.length())         {             char c = num.charAt(i);             int d = digits.indexOf(c);             if(d == -1 || d >= base)                 return Double.NaN;             power *= base; \/\/ \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443              val = base * val + d;             i++;         }         return val \/ power;     }     }<\/code><\/pre>\n<p>\u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u0435\u0442\u043e\u0434 <strong>parseNumber() <\/strong>\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u043d\u0443 \u0437\u0430\u0434\u0430\u0447\u0443. \u041e\u043d \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 <em>num<\/em> \u0432 \u0447\u0438\u0441\u043b\u043e \u0442\u0438\u043f\u0430 <strong>double<\/strong>, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f <em>base<\/em>. \u0415\u0441\u043b\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 <em>num<\/em>, \u0442\u043e \u043c\u0435\u0442\u043e\u0434 \u0432\u0435\u0440\u043d\u0451\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443 \u043a\u043b\u0430\u0441\u0441\u0430 Double <strong>\u043d\u0435-\u0447\u0438\u0441\u043b\u043e<\/strong> (<em>NaN &#8212; Not a Number<\/em>).<\/p>\n<p>\u0421\u0430\u043c\u043e\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0443 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 <strong>\u0431\u0435\u0437 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0437\u043d\u0430\u043a\u0430, \u0438 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430<\/strong> <strong>\u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f<\/strong> <strong>\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f<\/strong>. \u0418\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0437\u0430\u0440\u0430\u043d\u0435\u0435. \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0437\u043d\u0430\u043a \u043c\u0438\u043d\u0443\u0441 (<code>'-'<\/code>) \u0442\u043e \u0447\u0438\u0441\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043c\u043d\u043e\u0436\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043c\u0438\u043d\u0443\u0441 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 (<code>-1<\/code>). \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430, \u0442\u043e \u0447\u0438\u0441\u043b\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043c\u043d\u043e\u0436\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043d\u0435\u0451. \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0438\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044e, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u043c \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b. \u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u044b\u0431\u043e\u0440 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0438\u0437 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0443\u044e \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0443 \u0438 \u043c\u0438\u043d\u0443\u0441 \u0435\u0434\u0438\u043d\u0438\u0446\u0443, \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e.<\/p>\n<pre><code class=\"java\">public class ProcessNumber {   \/\/ ... parseNumber(String str, int base) { ... }    \/* num - \u0427\u0438\u0441\u043b\u043e    e - \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430     et - \u0442\u0438\u043f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b      base - \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f      sign - \u0437\u043d\u0430\u043a \u0447\u0438\u0441\u043b\u0430 (num > 0 => positive, num &lt; 0 => negative).      esign - \u0437\u043d\u0430\u043a \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b. *\/ public static double parse(String num, String e, char et,                              int base, int sign, int esign)   {         if(num == null || num.length() == 0 || base &lt; 1) \/\/ null \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f => NaN.             return Double.NaN;          double exp = 1; \/\/ \u042d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430    \/\/ \u0414\u0432\u043e\u0438\u0447\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 (\u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044e 2)         if((et == 'P' || et == 'p') &amp;&amp; e != null &amp;&amp; e.length() > 0)             exp = Math.pow(2.0, parseNumber(e, 10));      \/\/ \u0414\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430  (\u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044e 10)         else if( (et == 'E' || et == 'e' || et == 'H' || et == 'h')                   &amp;&amp; e != null &amp;&amp; e.length() > 0)             exp = Math.pow(10.0, parseNumber(e, 10));      \/\/e == null or e.length() == 0.         \/\/ \u0423\u043a\u0430\u0437\u0430\u043d \u0442\u0438\u043f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u043d\u043e \u0441\u0430\u043c\u0430 \u043e\u043d\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442          else if(et == 'E' || et == 'e' || et == 'H' || et == 'h'                 || et == 'P' || et == 'p')         {             return Double.NaN;         }         else \/\/ et is not [PpEeHh] => ignore exponent (exp == 1) (\u041d\u0435\u0442 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b)             exp = 1;          if(esign &lt; 0)       exp = 1 \/ exp;          double result = parseNumber(num, base); \/\/ \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c.        result = (result == Double.NaN) ? result : result * exp;              if(sign &lt; 0) result = 0 - result; \/\/make number negative (include minus sign)      return result; } }<\/code><\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434\u0443 <strong>parse()<\/strong> \u0443\u0436\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0447\u0438\u0441\u043b\u0430, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e: \u0441\u0430\u043c\u043e \u0447\u0438\u0441\u043b\u043e <em>num<\/em>, \u0435\u0433\u043e \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 <em>e<\/em>, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b <em>et<\/em>, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0430\u043c\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 <em>base<\/em> \u0438 \u0437\u043d\u0430\u043a \u0447\u0438\u0441\u043b\u0430 <em>sign<\/em>. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043c\u0435\u0442\u043e\u0434\u0435 \u0443\u0436\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0437\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0433\u0434\u0430 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0440\u0430\u0432\u043d\u0430 <strong>null<\/strong>, \u043d\u043e \u0443\u043a\u0430\u0437\u0430\u043d \u0435\u0451 \u0442\u0438\u043f, \u0438\u043b\u0438 \u043a\u043e\u0433\u0434\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c (\u043c\u0435\u043d\u044c\u0448\u0435 \u0435\u0434\u0438\u043d\u0438\u0446\u044b)). \u0412 \u043f\u0440\u043e\u0441\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0441\u0442\u0440\u043e\u043a\u0430 \u0440\u0430\u0432\u043d\u0430 <strong>null<\/strong>, \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0432\u0435\u0440\u043d\u0451\u0442 \u043d\u0435-\u0447\u0438\u0441\u043b\u043e (NaN). \u041c\u0435\u0442\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443, \u043e\u043d \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0438 \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f <em>result<\/em>, \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a (\u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0438 \u0441\u0430\u043c\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0431\u0435\u0437 \u043d\u0435\u0451) \u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0437\u043d\u0430\u043a\u0430 <em>sign<\/em>. \u0410 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 <strong>processNumber()<\/strong> \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0432 \u0447\u0438\u0441\u043b\u043e.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u043a, \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0443 \u0438 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041d\u0438\u0436\u0435 \u0434\u0430\u043d \u0435\u0433\u043e \u043a\u043e\u0434.<\/p>\n<pre><code class=\"java\">public class ProcessNumber {   ... \/\/ parseNumber(String num, int base) { ... }  \/\/ parse(String num, String exp, char etype, int base, int sign) { ... }    \/* \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 parseNumber(String num, int base)      \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 base, \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0443 e, \u0438 \u0435\u0451 \u0442\u0438\u043f, \u0430 \u0442\u0430\u043a\u0436\u0435      \u0437\u043d\u0430\u043a \u0447\u0438\u0441\u043b\u0430 sign. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f, \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b      \u043c\u0435\u0442\u043e\u0434\u0443 parse(), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u044b\u0431\u043e\u0440 (\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434) \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0435\u0439      \u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0443\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 parseNumber(num, base).   *\/   public static double parseNumber(String str){         if(str == null || str.length() == 0) \/\/null is NaN.             return Double.NaN;            int sign = 1; \/\/ \u0437\u043d\u0430\u043a \u0447\u0438\u0441\u043b\u0430.     int esign = 1; \/\/ \u0437\u043d\u0430\u043a \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b.         int base = 10; \/\/ \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u0432\u043d\u043e 10.         int i = 0;         if(str.charAt(0) == '-') { \/\/ \u041c\u0438\u043d\u0443\u0441 -> sign &lt; 0.             sign = -1;             i = 1; \/\/ \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0437\u043d\u0430\u043a\u0443.         }         if(i > 0 &amp;&amp; i == str.length()) \/\/str is '-' (\u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 '-')             return Double.NaN;          \/\/ suffix '0x' => 16 (hex)         if(str.charAt(i) == '0' &amp;&amp; (i + 1 != str.length()) &amp;&amp; str.charAt(i + 1) == 'x') {             base = 16;             i += 2;         }         \/\/suffix '0b' => 2 (binary)         else if(str.charAt(i) == '0' &amp;&amp; (i + 1 != str.length()) &amp;&amp; str.charAt(i + 1) == 'b') {             base = 2;             i += 2;         }         \/\/suffix '0c' => 8 (octal)         else if(str.charAt(i) == '0' &amp;&amp; (i + 1 != str.length()) &amp;&amp; str.charAt(i + 1) == 'c'){             base = 8;             i += 2;         }         if(i == str.length())\/\/ \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u0438\u0434\u0430 (-0x -0b -0c 0x 0b 0c)             return Double.NaN;          \/\/\u0412\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0443.         int idx = str.indexOf('H');         idx = (idx == -1) ? str.indexOf('h') : idx;         idx = (idx == -1) ? str.indexOf('P') : idx;         idx = (idx == -1) ? str.indexOf('p') : idx;         idx = (idx == -1 &amp;&amp; base != 16) ? str.indexOf('E') : idx;         idx = (idx == -1 &amp;&amp; base != 16) ? str.indexOf('e') : idx;          char etype = (idx == -1) ? 'N' : str.charAt(idx);        \/\/\u041a\u043e\u0433\u0434\u0430 \u043d\u0435\u0442 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b (idx + 1) == 0.         if(idx + 1 == str.length())\/\/ no more digits after exponent letter ('12E' or 'FFP')             return Double.NaN;          String exp = null;          \/\/\u041e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430, \u043d\u043e \u043d\u0435\u0442 \u0446\u0438\u0444\u0440 'E-' or 'P-' or 'h-'     if(str.charAt(idx + 1) == '-' &amp;&amp; idx != -1 &amp;&amp; idx + 2 == str.length())         return Double.NaN;            \/\/\u041e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430. 'E-2' or 'p-10'     if(str.charAt(idx + 1) == '-' &amp;&amp; idx != -1){          exp = str.substring(idx + 2);          esign = -1;      }     else         exp = str.substring(idx + 1); \/\/\u041f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 (\u043f\u043e\u0441\u043b\u0435 idx \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0446\u0438\u0444\u0440\u0430)          idx = (idx == -1) ? str.length() : idx; \/\/if no exponent then idx &lt;- length(str)          String number = str.substring(i, idx);         return parse(number, exp, etype, base, sign, esign); } }<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0441\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 <strong>null<\/strong>-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0414\u0430\u043b\u0435\u0435, \u0435\u0441\u043b\u0438 \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0435 <strong>null<\/strong> \u0438 \u0438\u043c\u0435\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u044b, \u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0435\u0451 \u0441\u0430\u043c\u044b\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b. \u0415\u0441\u043b\u0438 \u043e\u043d \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u043a \u043c\u0438\u043d\u0443\u0441\u0430 (<code>'-'<\/code>) \u0442\u043e \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u044c <em>sign<\/em> \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0440\u0430\u0432\u0435\u043d (-1). \u0418\u043d\u0430\u0447\u0435 \u043e\u043d \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0440\u0430\u0432\u0435\u043d 1. \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u043a\u0430 \u0438\u0434\u0451\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u043e \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0443 \u0441\u0442\u0440\u043e\u043a\u0438. \u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430, \u0441\u043d\u043e\u0432\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0441\u0442\u0430\u0432\u0448\u0435\u0439\u0441\u044f \u0447\u0430\u0441\u0442\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435. \u0415\u0441\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u043d\u0435\u0442, \u0442\u043e \u043e\u043f\u044f\u0442\u044c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0435-\u0447\u0438\u0441\u043b\u043e (<em>NaN<\/em>). \u0415\u0441\u043b\u0438 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u0442\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 <em>base<\/em> \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0432\u043d\u044b\u043c 10. \u0417\u0430\u0442\u0435\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 <em>exp<\/em> \u0447\u0438\u0441\u043b\u0430 \u0438 \u0438\u043d\u0434\u0435\u043a\u0441 <em>idx<\/em> \u0435\u0451 \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u043b\u044f \u0435\u0451<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-384648","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/384648","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=384648"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/384648\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=384648"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=384648"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=384648"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}