أكثر

يقوم Label Style بتحويل أسماء السلاسل العشرية إلى رقم


الfeature.attributes.fidإرجاع أخيطقيمة مثل "9.3210". ولكن على الخريطة ، يتم تحويل هذه القيمة إلى نوع ما من الأرقام ويتم عرض القيمة على الخريطة 9.321 (بدون 0).

var ContextResource = {getLabel: function (feature) {return feature.attributes.fid؛ }}؛ var ResourceStyle = new OpenLayers.Style ({label: '$ {getLabel}'}، {Context: ContextResource})؛

حاولت صنع أشياء مثل:

  • إرجاع JSON.stringfy (feature.attributes.fid) ،يظهر على الخريطة مع اقتباسات ، مثل "9.3210"
  • سلسلة إرجاع (feature.attributes.fid) ؛لا يزال هذا يظهر 9.321 (بدون 0)

أي اقتراحات لعرض 9.3210 (بدون علامات اقتباس ، ومع 0) على الخريطة؟


بناءً على اقتراح من صديقي Danilo Viana ، تم حل المشكلة عن طريق الكتابة فوق OpenLayers.Style.create السلوك الحرفي مثل هذا:

OpenLayers.Style.createLiteral = الوظيفة (القيمة ، السياق ، الميزة ، الخاصية) {if (typeof value == "string" && value.indexOf ("$ {")! = -1) {value = OpenLayers.String.format ( القيمة ، السياق ، [الميزة ، الخاصية]) ؛ if (isNaN (value) ||! value) {return value؛ } else {if (value.indexOf ('.')! == -1) {return parseFloat (value) .toFixed (value.split ('.') [1] .length)؛ } } } قيمة الإرجاع؛ } ؛

لقد قدمت أيضًا طلب سحب في مستودع المشروع.


1 إجابة 1

الخطيئة الأساسية

مهمة tmp_string [tmp_string_i] = الباقي مايو اكتب ما وراء الذاكرة المخصصة. ضع في اعتبارك حالة Buffer_size تساوي 0. يجب أن تختبر tmp_string_i قبل المهمة. لا أعرف بالضبط شخص ما كان يدور في ذهنك ، لكنك بالتأكيد ترتكب واحدة.

المتغيرات غير الضرورية

يتم تمرير decimal_number بقيمة يمكنك تشويهها بقدر ما تريد. ليست هناك حاجة لأرباح.

يمكن إجراء الانعكاس في المكان. ليست هناك حاجة ل tmp_string على الإطلاق. يجب أيضًا أن يختفي tmp_string_i.

إيجاد الأرقام

يبدو تنفيذ قسمة الأرباح / القاعدة مرتين لكل تكرار خاطئًا ، كما أن الحالة الخاصة للرقم الأخير تبدو خاطئة أيضًا. يؤدي استخدام Do-while إلى حل كلا الخطأين:

لا توجد حلقات خام

تمثل معظم الحلقات خوارزمية مهمة ، والتي تستحق أن تُدرج في وظيفة خاصة بها ، لإعادة استخدامها مرة أخرى و لمنحه اسما. في حالتك ، فإن الحلقة الموجودة أسفل // copy tmp_string لإخراج التعليق بترتيب عكسي تنفذ خوارزمية تُعرف بالعكس.

يجب إنهاء السلسلة التي تم إرجاعها بـ " 0" ، أو إرجاع طولها الفعلي.

يحول الرمز لحسن الحظ الأرقام إلى قاعدة تصل إلى 36 (10 أرقام و 26 حرفًا). لا أرى أي سبب لتحديد القاعدة بـ 26.

يجب تحديد رموز الإرجاع 0 ، -1 ، -2 على أنها ثوابت مسماة.

يجب أن تكون متغيرات الحجم (على سبيل المثال ، حجم_المخزن) غير موقعة ، أو أفضل من ذلك من النوع size_t.

المعلمة decimal_number ليست كذلك عدد عشري. انه فقط عدد. تحتاج إلى إعادة تسمية وفقا لذلك.


معلومات تنسيق الرقم. خاصية فاصل الأرقام العشرية

تتعلق بعض المعلومات بمنتج ما قبل الإصدار والذي قد يتم تعديله بشكل كبير قبل إصداره. لا تقدم Microsoft أي ضمانات ، صريحة أو ضمنية ، فيما يتعلق بالمعلومات المقدمة هنا.

الحصول على السلسلة أو تعيينها لاستخدامها كفاصل عشري في القيم الرقمية.

قيمة الملكية

السلسلة المطلوب استخدامها كفاصل عشري في القيم الرقمية. القيمة الافتراضية لـ InvariantInfo هي & quot. & quot.

استثناءات

يتم تعيين الخاصية على خالية.

يتم تعيين الخاصية وكان الكائن NumberFormatInfo للقراءة فقط.

يتم تعيين الخاصية على سلسلة فارغة.


ملخص

الغرض من هذا المستند هو تقديم نظرة عامة على سلاسل البيانات الرقمية أو الحقول ذات التنسيق العشري المحزم. يمكن استخدام هذا المستند كدليل تعليمي للمبرمجين الجدد أو كمرجع سريع للمبرمجين ذوي الخبرة.

يوجد في عالم البرمجة طرق عديدة لحل مشكلة ما. تم تطوير واختبار هذه الوثائق والبرامج على الأنظمة التي تم تكوينها لبيئة SIMOTIME بناءً على الأجهزة وأنظمة التشغيل ومتطلبات المستخدم ومتطلبات الأمان. لذلك ، قد تكون هناك حاجة إلى تعديلات لتنفيذ الوظائف والبرامج عند نقلها إلى نظام لهندسة أو تكوين مختلف.

تتمتع خدمات SIMOTIME بخبرة في نقل أو مشاركة البيانات أو معالجة التطبيقات عبر مجموعة متنوعة من الأنظمة. للحصول على معلومات إضافية حول خدمات أو تقنيات SIMOTIME ، يرجى الاتصال بنا باستخدام المعلومات الموجودة في قسم التعليقات أو التعليقات في هذا المستند.

اتفاقية البرنامج وإخلاء المسؤولية

يتطلب إذن استخدام ونسخ وتعديل وتوزيع هذا البرنامج أو الوثائق أو المواد التدريبية لأي غرض من الأغراض دفع رسوم لشركة SimoTime Technologies. بمجرد استلام SimoTime للرسوم ، سيتم تسليم أحدث إصدار من البرنامج أو الوثائق أو مواد التدريب وسيتم منح ترخيص للاستخدام داخل مؤسسة ، بشرط ظهور إشعار حقوق النشر لـ SimoTime على جميع نسخ البرنامج. لا يجوز استخدام اسم أو شعار SimoTime في أي إعلان أو دعاية تتعلق باستخدام البرنامج دون الحصول على إذن كتابي من SimoTime Technologies.

لا تقدم SimoTime Technologies أي ضمانات أو إقرارات حول ملاءمة البرنامج أو الوثائق أو المواد التعليمية لأي غرض من الأغراض. يتم توفيرها "كما هي" بدون أي ضمان صريح أو ضمني ، بما في ذلك الضمانات الضمنية الخاصة بالتسويق والملاءمة لغرض معين وعدم الانتهاك. لن تكون SimoTime Technologies مسؤولة عن أي أضرار مباشرة أو غير مباشرة أو خاصة أو تبعية ناتجة عن فقدان الاستخدام أو البيانات أو المشاريع ، سواء كان ذلك في عقد أو ضرر ناتج عن أو فيما يتعلق باستخدام أو أداء هذا البرنامج أو الوثائق أو المواد التدريبية.

التنزيلات والروابط

يتضمن هذا القسم ارتباطات إلى مستندات تحتوي على معلومات إضافية خارج نطاق هذا المستند والغرض منه. يتطلب القسم الفرعي الأول اتصالاً بالإنترنت ، بينما يشير القسم الفرعي الثاني إلى المستندات المتاحة محليًا.

ملاحظة: مطلوب ترخيص SimoTime حتى يتم توفير العناصر على خادم محلي.

الخادم الحالي أو الوصول إلى الإنترنت

قد تكون الروابط التالية إلى الخادم الحالي أو إلى الإنترنت.

ملاحظة: تتوفر أحدث إصدارات مستندات SimoTime وأجنحة البرامج على الإنترنت ويمكن الوصول إليها باستخدام الرمز. إذا كان لدى المستخدم ترخيص SimoTime Enterprise ، فقد تكون المستندات ومجموعات البرامج متاحة على خادم محلي ويمكن الوصول إليها باستخدام الرمز.

راجع البنية وأساليب المعالجة للقيم الرقمية المخزنة بتنسيق Packed-Decimal. الغرض من هذا المستند هو توفير معلومات حول حالة اختبار ضمان الجودة التي تركز على تقنيات SIMOTIME التي تدير ملفات البيانات مع هياكل السجلات التي تحتوي على سلاسل نصية أبجدية مخزنة باستخدام ترميز EBCDIC أو ASCII والقيم الرقمية المخزنة في حزمة- تنسيق عشري. سيركز هذا المستند على مناقشة حقل رقمي (أو سلسلة بيانات) يُعرف باسم تنسيق "PACKED-DECIMAL" (يُشار إليه أيضًا باسم البيانات المعبأة أو حقل رقمي معبأ). يتم دعم التنسيق الرقمي العشري المحزم بواسطة لغة برمجة COBOL. يستخدم هذا التنسيق على نظام IBM Mainframe وعلى نظام Linux أو UNIX أو Windows باستخدام تقنيات COBOL من Micro Focus أو GnuCOBOL.

هذا هو كتاب التشغيل لحالة اختبار TCNTXT01. ستعمل حالة الاختبار هذه على تحويل تنسيق الملف وتسجيل المحتوى وهيكل التسجيل لملف مشفر EBCDIC تم إنشاؤه ونقله من نظام IBM Mainframe إلى تنسيق وبنية يمكن استيرادها والوصول إليها بسهولة من داخل بيانات علائقية موجهة إلى ASCII قاعدة أو ورقة انتشار باستخدام Excel أو LibreOffice Calc. سيشمل هذا الطلب الموسع أكثر من مجرد تحويل EBCDIC إلى ASCII. ستصف حالة الاختبار هذه وتوضح كيفية تحديد وتحويل السلاسل النصية بين EBCDIC و ASCII وكيفية تحديد وتوسيع وتحويل القيم الرقمية المنسقة على أنها Signed-Zoned-Decimal أو Packed-Decimal أو Binary.

اكتشف كيفية معالجة القيم غير الرقمية المخزنة بتنسيق Packed-Decimal. سيستخدم هذا المستند أمثلة لإظهار كيفية إدارة الموقف حيث يتم وضع القيم غير الرقمية (مثل أحرف المسافة) في حقل Packed-Decimal ثم تتم إدارته لتجنب رسالة خطأ S0C7 أو RTS 163 وإنهاء غير طبيعي للبرنامج .

استكشف كيفية حساب عدد السجلات وتجميع الإجماليات الموجزة من خلال قراءة ملف بيانات متسلسل للسجل. يحتوي كل سجل على حقول رقمية بتنسيق عشري معبأ (COMP-3). سيتم ترحيل العدد والإجماليات إلى جهاز SYSOUT.

استكشف برنامج الأداة المساعدة الذي يوفر نظرة خاطفة على مقطع من الذاكرة عن طريق إنشاء سلسلة نصية من البيانات بتنسيق تدوين سداسي عشري. قد تكون السلسلة النصية جزءًا من عملية مراجعة تتطلب مراقبة بشرية.

استكشف حالة اختبار توضح كيفية إلقاء نظرة خاطفة على مقطع من الذاكرة عن طريق إنشاء سلسلة نصية من البيانات بتنسيق تدوين سداسي عشري. قد تكون السلسلة النصية جزءًا من عملية مراجعة تتطلب مراقبة بشرية.

استكشف التنسيق الثنائي أو تنسيق COMP لسلاسل البيانات الرقمية. يتم دعم هذه البنية الرقمية بواسطة COBOL ويمكن تعريفها صراحةً بعبارة "USAGE IS COMP" أو عبارة "USAGE IS BINARY".

استكشف تنسيق Edited for Display لسلاسل البيانات الرقمية. هذه البنية الرقمية مدعومة من قبل COBOL ويمكن استخدامها مع قناع التحرير لإعداد العرض التقديمي لسهولة قراءته من قبل البشر.

استكشف تنسيق Packed-Decimal أو COMP-3 لسلاسل البيانات الرقمية. يتم دعم هذه البنية الرقمية بواسطة COBOL ويمكن تعريفها صراحةً بعبارة "USAGE IS COMP-3".

اكتشف تنسيق Zoned-Decimal لسلاسل البيانات الرقمية. هذه البنية الرقمية هي الرقم الافتراضي لـ COBOL ويمكن تعريفها صراحةً بعبارة "USAGE IS DISPLAY".

اكتشف التنسيقات وأساليب المعالجة شائعة الاستخدام لإدارة التنسيقات الرقمية المختلفة المتوفرة على الكمبيوتر الرئيسي.

استكشف وصلة الأرقام للحصول على معلومات إضافية حول بنية ومعالجة عناصر البيانات الرقمية (أو الحقول الرقمية).

استكشف توجيهات المترجم المتاحة لتقنيات Micro Focus COBOL.

اكتشف كيفية إنشاء برنامج تحويل ملفات البيانات باستخدام عبارات المواصفات البسيطة في ملف التحكم في العمليات (PCF). يتضمن هذا الارتباط إلى دليل المستخدم المعلومات اللازمة لإنشاء ملف التحكم في العملية وإنشاء برامج COBOL التي ستقوم بتحويل ملف البيانات الفعلي. يحتوي دليل المستخدم على قائمة بعبارات PCF المستخدمة في عملية تحويل ملف البيانات.

اكتشف كيفية إنشاء ملف بيانات مقارنة أو التحقق من صحة أو تفريغ برنامج Hex-Dump باستخدام عبارات المواصفات البسيطة في ملف التحكم في العمليات (PCF). يشتمل هذا الارتباط إلى دليل المستخدم على المعلومات اللازمة لإنشاء ملف التحكم في العمليات وإنشاء برامج COBOL التي ستقوم بمقارنة ملف البيانات أو تجميع إجماليات الملخص مع عدد السجلات أو إنتاج تفريغ سداسي عشري للسجلات في VSAM ، على أساس KSDS في قائمة المفاتيح المعرفة من قبل المستخدم. يحتوي دليل المستخدم على قائمة بعبارات PCF المستخدمة في عملية مقارنة ملف البيانات أو التحقق من صحته أو تفريغه.

استكشف عملية تحويل ملف البيانات النموذجية التي قد تكون مطلوبة عند العمل في بيئة متعددة الأنظمة. تصف مجموعة المستندات هذه نموذجًا لإدارة هياكل البيانات غير العلائقية (الملفات المتسلسلة ومجموعات بيانات VSAM) التي تحتوي على سلاسل نصية ASCII أو EBCDIC وتنسيقات رقمية متنوعة مثل BINARY و PACKED-Decimal و ZONED-Decimal. هذا النموذج لديه القدرة على إنشاء ملف اختبار لبيئة ASCII أو EBCDIC المشفرة. ستعالج مجموعة المستندات هذه العديد من التحديات التي تواجه إجراء تحويل محتوى السجل لملف سيتم نقله بين نظام Mainframe المشفر بواسطة EBCDIC ونظام Linux أو UNIX أو Windows بترميز ASCII.

استكشف جداول ترجمة ASCII و EBCDIC. يتم توفير هذه الجداول للأفراد الذين يحتاجون إلى فهم أفضل لهياكل البت والاختلافات في تنسيقات التشفير.

استكشف أكواد عودة حالة الملف لتفسير نتائج الوصول إلى مجموعات بيانات VSAM و / أو ملفات QSAM.

يلزم الوصول إلى الإنترنت

سوف تتطلب الروابط التالية اتصالاً بالإنترنت.

مكان جيد للبدء هو صفحة SimoTime الرئيسية للوصول إلى المستندات التقنية وأمثلة البرامج ومعلومات المنتج. يتطلب هذا الارتباط اتصالاً بالإنترنت

استكشف موقع ويب Micro Focus للحصول على مزيد من المعلومات حول المنتجات والخدمات المتوفرة من Micro Focus. يتطلب هذا الارتباط اتصالاً بالإنترنت.

استكشف تقنيات GnuCOBOL المتاحة من SourceForge. SourceForge هو مصدر مجتمع مفتوح المصدر مكرس لمساعدة المشاريع مفتوحة المصدر على أن تكون ناجحة قدر الإمكان. GnuCOBOL (OpenCOBOL سابقًا) هو مترجم COBOL مع دعم وقت التشغيل. يقوم المترجم (cobc) بترجمة مصدر COBOL إلى ملف تنفيذي باستخدام وسيط C ومترجم C المعين ورابط. سيتطلب هذا الارتباط اتصالاً بالإنترنت.

مسرد للمصطلحات

استكشف "مسرد المصطلحات" للحصول على قائمة بالمصطلحات والتعريفات المستخدمة في هذه المجموعة من المستندات والمستندات البيضاء.

التعليقات أو الملاحظات

تم إنشاء هذا المستند والاحتفاظ به بواسطة SimoTime Technologies. إذا كان لديك أي أسئلة أو اقتراحات أو تعليقات أو ملاحظات ، يرجى استخدام معلومات الاتصال التالية.

نحن نقدر الاستماع منك.

نبذة عن الشركة

تأسست SimoTime Technologies في عام 1987 وهي شركة مملوكة للقطاع الخاص. نحن متخصصون في إنشاء ونشر تطبيقات الأعمال باستخدام تقنيات وخدمات جديدة أو موجودة. لدينا فريق من الأفراد يفهم النطاق الواسع من التقنيات المستخدمة في بيئات اليوم. يشمل عملاؤنا الشركات الصغيرة التي تستخدم تقنيات الإنترنت للشركات التي تستخدم أنظمة حواسيب كبيرة جدًا.

في كثير من الأحيان ، للوصول إلى أسواق أكبر أو تقديم مستوى أعلى من الخدمة للعملاء الحاليين ، يتطلب الأمر أن تعمل تقنيات الإنترنت الأحدث بطريقة تكميلية مع أنظمة حواسيب الشركة المركزية الحالية. نحن متخصصون في إعداد التطبيقات والبيانات المرتبطة بها الموجودة حاليًا على منصة واحدة لتوزيعها عبر مجموعة متنوعة من المنصات.

سيتطلب إعداد برامج التطبيق نقل أعضاء المصدر الذين سيتم تجميعهم ونشرهم على النظام الأساسي المستهدف. ستحتاج البيانات إلى النقل بين الأنظمة وقد تحتاج إلى تحويلها والتحقق من صحتها في مراحل مختلفة من العملية. تمتلك SimoTime التكنولوجيا والخدمات والخبرة للمساعدة في مهام إدارة التطبيقات والبيانات المرتبطة بممارسة الأعمال التجارية في بيئة متعددة الأنظمة.


بناء الجملة

يمكن أن يكون الجدول عبارة عن ملف نصي أو جدول. ميزات النقطة صالحة أيضًا.

فئة ميزة نقطة الإخراج. سيحتوي جدول السمات على جميع حقول جدول الإدخال جنبًا إلى جنب مع الحقول التي تحتوي على القيم المحولة في تنسيق الإخراج.

حقل من جدول الإدخال يحتوي على قيمة خط الطول. بالنسبة إلى DD_2 ، DD_NUMERIC ، DDM_2 ، هذا هو حقل خط الطول.

بالنسبة إلى DD_1 و DDM_1 و DMS_1 ، يحتوي هذا الحقل على قيم خط الطول وخط العرض في سلسلة واحدة.

بالنسبة إلى GARS و GEOREF و UTM_ZONES و UTM_BANDS و USNG و MGRS ، يحتوي هذا الحقل على نظام أبجدي رقمي للتدوين في حقل نصي واحد.

يتم تجاهل المعلمة y_field عند اختيار أحد تنسيقات السلسلة المفردة.

حقل من جدول الإدخال يحتوي على قيمة خط العرض. بالنسبة إلى DD_2 و DD_NUMERIC و DDM_2 و DMS_2 ، هذا هو حقل خط الطول.

بالنسبة إلى DD_1 و DDM_1 و DMS_1 ، يحتوي هذا الحقل على قيم خط الطول وخط العرض في سلسلة واحدة.

بالنسبة إلى GARS و GEOREF و UTM_ZONES و UTM_BANDS و USNG و MGRS ، يحتوي هذا الحقل على نظام أبجدي رقمي للتدوين في حقل نصي واحد.

يتم تجاهل هذه المعلمة عند اختيار أحد تنسيقات السلسلة المفردة.

تنسيق تنسيق حقول الإدخال. الافتراضي هو DD_2.

  • DD_1 —توجد قيمتا خط الطول وخط العرض في حقل واحد. يتم فصل قيمتين بمسافة أو فاصلة أو شرطة مائلة.
  • DD_2 —توجد قيم خط الطول وخط العرض في حقلين منفصلين.
  • DDM_1 —توجد قيمتا خط الطول وخط العرض في حقل واحد. يتم فصل قيمتين بمسافة أو فاصلة أو شرطة مائلة.
  • DDM_2 - توجد قيم خط الطول وخط العرض في حقلين منفصلين.
  • DMS_1 —توجد قيمتا خط الطول وخط العرض في حقل واحد. يتم فصل قيمتين بمسافة أو فاصلة أو شرطة مائلة.
  • DMS_2 —توجد قيم خط الطول وخط العرض في حقلين منفصلين.
  • GARS - النظام المرجعي العالمي للمنطقة. بناءً على خطوط الطول والعرض ، فإنه يقسم العالم ويقسمه إلى خلايا.
  • GEOREF - نظام مرجعي جغرافي عالمي. نظام قائم على الشبكة يقسم العالم إلى رباعي الزوايا بزاوية 15 درجة ثم ينقسم إلى أرباع أصغر.
  • UTM_ZONES - يشير الحرف N أو S بعد رقم منطقة UTM إلى نصف الكرة الشمالي أو الجنوبي فقط.
  • UTM_BANDS - الحرف الذي يظهر بعد رقم منطقة UTM يعين أحد نطاقات خطوط العرض العشرين. لا يعين N أو S نصف الكرة الأرضية.
  • USNG - شبكة الولايات المتحدة الوطنية. تقريبًا مماثل لـ MGRS ولكنه يستخدم Datum أمريكا الشمالية 1983 (NAD83) كمرجع له.
  • MGRS - النظام المرجعي للشبكة العسكرية. يتبع إحداثيات UTM ويقسم العالم إلى خطوط طول 6 درجات و 20 نطاق عرض ، لكن MGRS تقسم مناطق الشبكة إلى شبكات أصغر يبلغ طولها 100000 متر. يتم بعد ذلك تقسيم هذه الشبكات التي يبلغ طولها 100000 متر إلى شبكات بطول 10000 متر و 1000 متر و 100 متر و 10 متر و 1 متر.
  • الشكل - متاح فقط عند تحديد طبقة معالم نقطية كمدخلات. تُستخدم إحداثيات كل نقطة لتحديد تنسيق الإخراج.

DD و DDM و DMS و UTM هي أيضًا كلمات رئيسية صالحة يمكن استخدامها فقط عن طريق الكتابة (في مربع الحوار) أو تمرير القيمة في البرمجة النصية. ومع ذلك ، فإن الكلمات الأساسية التي تحتوي على شرطة سفلية ومعرف تخبر المزيد عن قيم الحقل.

تنسيق التنسيق الذي سيتم تحويل رموز الإدخال إليه. الافتراضي هو DD_2.

  • DD_1 —توجد قيمتا خط الطول وخط العرض في حقل واحد. يتم فصل قيمتين بمسافة أو فاصلة أو شرطة مائلة.
  • DD_2 —توجد قيم خط الطول وخط العرض في حقلين منفصلين.
  • DD_NUMERIC —توجد قيم خط الطول وخط العرض في حقلين منفصلين من النوع مزدوج. يتم الإشارة إلى القيم في الغرب والجنوب بعلامة ناقص ، بينما في DD_2 ، تكون القيم في النص ويتم استخدام N و S و E و W للإشارة إلى الاتجاه.
  • DDM_1 —توجد قيمتا خط الطول وخط العرض في حقل واحد. يتم فصل قيمتين بمسافة أو فاصلة أو شرطة مائلة.
  • DDM_2 - توجد قيم خط الطول وخط العرض في حقلين منفصلين.
  • DMS_1 —توجد قيمتا خط الطول وخط العرض في حقل واحد. يتم فصل قيمتين بمسافة أو فاصلة أو شرطة مائلة.
  • DMS_2 —توجد قيم خط الطول وخط العرض في حقلين منفصلين.
  • GARS - النظام المرجعي العالمي للمنطقة. بناءً على خطوط الطول والعرض ، فإنه يقسم العالم ويقسمه إلى خلايا.
  • GEOREF - نظام مرجعي جغرافي عالمي. نظام قائم على الشبكة يقسم العالم إلى رباعي الزوايا بزاوية 15 درجة ثم ينقسم إلى أرباع أصغر.
  • UTM_ZONES - يشير الحرف N أو S بعد رقم منطقة UTM إلى نصف الكرة الشمالي أو الجنوبي فقط.
  • UTM_BANDS - الحرف الذي يظهر بعد رقم منطقة UTM يعين أحد نطاقات خطوط العرض العشرين. لا يعين N أو S نصف الكرة الأرضية.
  • USNG - شبكة الولايات المتحدة الوطنية. تقريبًا مماثل لـ MGRS ولكنه يستخدم Datum أمريكا الشمالية 1983 (NAD83) كمرجع له.
  • MGRS - النظام المرجعي للشبكة العسكرية. يتبع إحداثيات UTM ويقسم العالم إلى خطوط طول 6 درجات و 20 نطاق عرض ، لكن MGRS تقسم مناطق الشبكة إلى شبكات أصغر يبلغ طولها 100000 متر. يتم بعد ذلك تقسيم هذه الشبكات التي يبلغ طولها 100000 متر إلى شبكات بطول 10000 متر و 1000 متر و 100 متر و 10 متر و 1 متر.

DD و DDM و DMS و UTM هي أيضًا كلمات رئيسية صالحة يمكن استخدامها فقط عن طريق الكتابة (في مربع الحوار) أو تمرير القيمة في البرمجة النصية. ومع ذلك ، فإن الكلمات الأساسية التي تحتوي على شرطة سفلية ومعرف تخبر المزيد عن قيم الحقل.

يتم تجاهل هذه المعلمة حيث يتم نقل جميع الحقول إلى جدول الإخراج.

الإسناد المكاني لفئة ميزة الإخراج. الافتراضي هو GCS_WGS_1984.

تقوم الأداة بإخراج الإخراج إلى المرجع المكاني المحدد. إذا كانت أنظمة إحداثيات الإدخال والإخراج في مسند مختلف ، فسيتم استخدام التحويل الافتراضي بناءً على أنظمة إحداثيات المدخلات والمخرجات ومدى البيانات.

الإسناد المكاني لبيانات الإدخال. إذا تعذر الحصول على الإسناد المكاني للإدخال من جدول الإدخال ، فسيتم استخدام GCS_WGS_1984 افتراضيًا.

عندما يتم تعيين exe_invalid_records إلى True ، فإن الإخراج سيحول الرموز الصالحة فقط إلى نقاط. وبخلاف ذلك ، سيتم تضمين السجلات غير الصالحة باعتبارها هندسة فارغة.

  • EXCLUDE_INVALID - يتم تحويل السجلات الصالحة فقط إلى نقاط في الإخراج. هذا هو الافتراضي.
  • INCLUDE_INVALID - يتم تحويل السجلات الصالحة إلى نقاط في الإخراج وسيتم تضمين السجلات غير الصالحة على أنها هندسة فارغة.

كيفية تحويل سلسلة إلى عدد صحيح في لغة سي

في بعض الأحيان ، يتم إدخال الرقم كسلسلة. لاستخدامها في أي عملية رياضية ، علينا تحويل السلسلة إلى عدد صحيح. هناك طريقتان للقيام بذلك.

  1. الطريقة الأولى هي تحويل السلسلة يدويًا إلى عدد صحيح.
  2. الطريقة الثانية هي استخدام الوظائف المضمنة.

التحويل اليدوي

فيما يلي قائمة بأحرف ASCII (الكود القياسي الأمريكي لتبادل المعلومات) وقيمتها العشرية.

يتم تخزين الأرقام بتنسيق أحرف داخل السلسلة. من أجل الحصول على القيمة العشرية لكل عنصر سلسلة ، يتعين علينا طرحها بالقيمة العشرية للحرف & # 82160. & # 8217 دعنا نوضح ذلك بمساعدة مثال.


تحويل الأرقام إلى سلاسل

تحتاج أحيانًا إلى تحويل رقم إلى سلسلة لأنك تحتاج إلى العمل على القيمة في شكل سلسلة. هناك عدة طرق سهلة لتحويل رقم إلى سلسلة:

تتضمن كل فئة من الفئات الفرعية للأرقام طريقة فئة ، toString () ، والتي ستحول نوعها الأولي إلى سلسلة. على سبيل المثال:

يستخدم مثال ToStringDemo طريقة toString لتحويل رقم إلى سلسلة. ثم يستخدم البرنامج بعض طرق السلسلة لحساب عدد الأرقام قبل العلامة العشرية وبعدها:


يقوم Label Style بتحويل أسماء السلاسل العشرية إلى رقم - أنظمة معلومات جغرافية

هذا هو كود C # كما أعرفه بشكل أفضل. يجب أن يكون من الممكن أن يكون لديك رمز مكافئ في VB.NET.

هذا الرمز هو فقط لتوضيح كيف يمكن تبسيط الكود. يمكن تكييفه لعرض N / S أو W / E حسب الرغبة.

يبدو أنه يعمل حتى 9 منازل عشرية للرقم في النطاق [-180 ، +180].

إذا تم استخدام المضاعفات بدلاً من ذلك ، فلدينا نفس الدقة تقريبًا. ومع ذلك ، لا يتم عرض الأرقام الإضافية على أنها 0.

إذا تم استبدال الدالة بأخذ العلامة العشرية في الوسيطة ، فيمكنك الحصول على ما يصل إلى 20 منزلاً عشريًا تقريبًا من الأرقام الصحيحة. بعد ذلك ، قد لا تكون الأرقام الإضافية 0.

شكرًا لفيليب ، إنها تعمل بهذه الطريقة أيضًا. الحيلة التي تستخدمها للتعامل مع quirk2 هي تحويل الإدخال إلى إجمالي الثواني الجميلة ولا تعتمد على التحقق من السلسلة كما هو الحال في الكود الخاص بي. عدد الكسور العشرية القصوى 9 مناسب لنوع عملي. كقاعدة عامة ، أستخدم 8 أرقام عشرية للدرجة العشرية و 4 أرقام عشرية للثواني العشري.
في الجزء الخاص بي من العالم ، تبلغ درجة خط الطول حوالي 68670 مترًا ، أي أن الثانية من خط الطول حوالي (68670/3600) 19 مترًا و 4 أرقام عشرية على 19 مترًا قريبة بدرجة كافية.
لقد اختبرت الكود الخاص بك مع التحويل (59.99999999،4) ويعطيني + 60 ° 00'00.0000 '' ، أي تم التعامل مع quirk2.

ها هي ترجمة VB.NET:

إذا كنت بحاجة إلى أكثر من 9 أرقام عشرية ، فعليك استخدام النوع العشري باستمرار. المضاعفة عبارة عن 15 رقمًا من الدقة وتستخدم 3 للدرجات ، و 2 للدقائق ، و 2 للثواني ، و 9 للكسر. نظرًا لأن الحقول الثلاثة الأولى لا تستخدم النطاق بالكامل ، فإنها تمنحك عددًا إضافيًا أو أقل مقارنةً بالتمثيل العشري.

لا يزال بإمكانك استخدام فحص السلسلة بدلاً من التقريب. ستحتاج بعد ذلك إلى ضبط TruncatedMinutes قبل استخدامه إذا كانت الثواني 60. وبهذه الطريقة ، لا تعتمد على الحد الأقصى المشفر من 9 أرقام وسيكون من الممكن التعامل مع رقم أكبر بكثير من 180 على سبيل المثال إذا كان نفس الرمز هو تستخدم لفترات. بدلاً من ذلك ، يمكن تقدير الحد الأقصى لعدد الكسور العشرية باستخدام دالة اللوغاريتمات في الأساس 10.

يمكن للمرء استخدام نوع DivRem من الوظائف لتقسيم الأجزاء. أحد الأشياء المهمة عند العمل مع المضاعفات في التعليمات البرمجية مثل هذا هو التأكد من أنك لا تضيف أخطاء.

في حالتي ، تم التعامل معه بالتقريب مما يضمن عدم تقريب الرقم مرة أخرى عند تنسيقه بشرط تقريبه إلى دقة يمكن تمثيلها بنقاط عائمة. بمعنى أن استخدام تمثيل النص سيجعل الكود أقل هشاشة إذا حاول المرء عرض المزيد من الأرقام (أو الأرقام الأكبر).

أتجنب تراكم الأخطاء باستخدام intergers للدقائق والدرجات. سيكون هذا الرمز مناسبًا للأرقام الكبيرة جدًا ويمكن للمرء استخدام الأعداد الصحيحة 64 بت إذا أراد استخدام هذا الرمز لفترات طويلة جدًا مثل عمر شخص ما.

قد يكون البديل الآخر هو استخدام TimeSpan بدلاً من ذلك. يمكنك عرض ما يصل إلى 7 أرقام عشرية.

يمكنك إنشاء كائن بهذه الطريقة:

في هذه المرحلة ، يمكنك الحصول على عدد الدرجات من الأيام والساعات وإنشاء TimeSpan آخر للمدة المتبقية واستخدام التنسيق المخصص أو الحصول على الأجزاء يدويًا.

أعتقد أن TimeSpam يتم تقريبه لأسفل ولكن يمكنك إجراء التعديلات اللازمة لذلك عن طريق إضافة نصف آخر رقم مرغوب فيه. ويمكن أن يتم ذلك بدقة باستخدام القراد.

أخبار عامة اقتراح سؤال خطأ إجابة نكتة مدح مدير التشدق

استخدم Ctrl + Left / Right للتبديل بين الرسائل ، Ctrl + Up / Down للتبديل بين المواضيع ، Ctrl + Shift + Left / Right للتبديل بين الصفحات.


النظام العشري

نظام العد العشري هو النظام الأكثر استخدامًا والمعيار في الحياة اليومية. يستخدم الرقم 10 كقاعدة له (الجذر). لذلك ، يحتوي على 10 رموز: الأرقام من 0 إلى 9 وهي 0 و 1 و 2 و 3 و 4 و 5 و 6 و 7 و 8 و 9.

كواحد من أقدم أنظمة الأرقام المعروفة ، فإن نظام العد العشري تم استخدامه من قبل العديد من الحضارات القديمة. تم التغلب على صعوبة تمثيل الأعداد الكبيرة جدًا في النظام العشري من خلال نظام الترقيم الهندوسي العربي. يعطي نظام الأرقام الهندوسية العربية مواضع للأرقام في رقم وهذه الطريقة تعمل باستخدام قوى من 10 أرقام يتم رفعها إلى الأس n ، وفقًا لموضعها.

على سبيل المثال ، خذ الرقم 2345.67 في النظام العشري:

  • الرقم 5 في موضع الآحاد (10 0 ، يساوي 1) ،
  • 4 في موضع العشرات (10 1)
  • 3 في وضع المئات (10 2)
  • 2 في وضع الآلاف (10 3)
  • في الوقت نفسه ، الرقم 6 بعد الفاصلة العشرية يقع في الجزء من عشرة (1/10 ، وهو 10-1) و 7 في موضع المئات (1/100 ، وهو 10-2)
  • وبالتالي ، يمكن أيضًا تمثيل الرقم 2345.67 على النحو التالي: (2 * 10 3) + (3 * 10 2) + (4 * 10 1) + (5 * 10 0) + (6 * 10 -1) + (7 * 10 -2)

كيف تقرأ الرقم الثنائي

من أجل تحويل ثنائي إلى عشري ، قد تساعد المعرفة الأساسية حول كيفية قراءة رقم ثنائي. كما هو مذكور أعلاه ، في النظام الموضعي للثنائي ، كل بت (رقم ثنائي) هي قوة 2. وهذا يعني أنه يمكن تمثيل كل رقم ثنائي كقوى 2 ، بحيث يكون الرقم الموجود في أقصى اليمين في الموضع 2 0.

مثال: الرقم الثنائي (1010)2 يمكن أيضًا كتابتها على النحو التالي: (1 * 2 3) + (0 * 2 2) + (1 * 2 1) + (0 * 2 0)

كيفية تحويل ثنائي إلى عشري

هناك طريقتان لتطبيق ثنائي على التحويل العشري. الأول يستخدم التمثيل الموضعي للثنائي ، والذي تم وصفه أعلاه. الطريقة الثانية تسمى Double dabble وتستخدم لتحويل السلاسل الثنائية الأطول بشكل أسرع. لا تستخدم المواقف.

الطريقة الأولى: استخدام المناصب

الخطوة 1: اكتب الرقم الثنائي.

الخطوة 2: بدءًا من الرقم الأقل دلالة (LSB - أقصى اليمين) ، اضرب الرقم في قيمة الموضع. استمر في القيام بذلك حتى تصل إلى الرقم الأكثر أهمية (MSB - أقصى اليسار).

الخطوه 3: أضف النتائج وستحصل على المكافئ العشري للرقم الثنائي المحدد.

الآن ، دعنا نطبق هذه الخطوات على ، على سبيل المثال ، الرقم الثنائي أعلاه ، وهو (1010)2

  • الخطوة 1: اكتب (1010)2 وتحديد المواضع ، أي صلاحيات الرقم 2 التي ينتمي إليها الرقم.
  • الخطوة 2: تمثيل الرقم من حيث مناصبه. (1 * 2 3) + (0 * 2 2) + (1 * 2 1) + (0 * 2 0)
  • الخطوه 3: (1 * 8) + (0 * 4) + (1 * 2) + (0 * 1) = 8 + 0 + 2 + 0 = 10
  • لذلك ، (1010)2 = (10)10

(لاحظ أن الأرقام 0 في النظام الثنائي أنتجت قيمًا صفرية في العلامة العشرية أيضًا.)

الطريقة 2: دبل ديبل

تسمى هذه الطريقة أيضًا بالمضاعفة ، وهي في الواقع خوارزمية يمكن تطبيقها للتحويل من أي قاعدة إلى نظام عشري. يساعد Double dabble على تحويل سلاسل ثنائية أطول في رأسك والشيء الوحيد الذي يجب تذكره هو "مضاعفة المجموع وإضافة الرقم التالي".

  • الخطوة 1: اكتب الرقم الثنائي. بدءًا من اليسار ، ستضاعف الإجمالي السابق وتضيف الرقم الحالي. في الخطوة الأولى ، يكون الإجمالي السابق دائمًا 0 لأنك بدأت للتو. لذلك ، ضاعف المجموع (0 * 2 = 0) وأضف الرقم الموجود في أقصى اليسار.
  • الخطوة 2: ضاعف المجموع وأضف الرقم التالي الموجود في أقصى اليسار.
  • الخطوة 3: ضاعف المجموع وأضف الرقم التالي الموجود في أقصى اليسار. كرر هذا حتى تنفد الأرقام.
  • الخطوة 4: النتيجة التي تحصل عليها بعد إضافة الرقم الأخير إلى الإجمالي المضاعف السابق هي المكافئ العشري.

الآن ، دعنا نطبق طريقة dabble المزدوجة على نفس الرقم الثنائي ، (1010)2

  • الإجمالي السابق 0. الرقم الموجود في أقصى اليسار هو 1. ضاعف المجموع وأضف الرقم الموجود في أقصى اليسار
    (0 * 2) + 1 = 1
  • الخطوة 2: ضاعف الإجمالي السابق وأضف الرقم التالي الموجود في أقصى اليسار.
    (1 * 2) + 0 = 2
  • الخطوة 3: ضاعف الإجمالي السابق وأضف الرقم التالي الموجود في أقصى اليسار.
    (2 * 2) + 1 = 5
  • الخطوة 4: ضاعف الإجمالي السابق وأضف الرقم التالي الموجود في أقصى اليسار.
    (5 * 2) + 0 = 10

هذا هو المكان الذي نفدت فيه الأرقام في هذا المثال. لذلك ، (1010)2 = (10)10

أمثلة على التحويل الثنائي إلى العشري

مثال 1: (1110010)2 = (114)10

طريقة 1:
(0 * 2 0 ) + (1 * 2 1 ) + (0 * 2 2 ) + (0 * 2 3 ) + (1 * 2 4 ) + (1 * 2 5 ) + (1 * 2 6 )
= (0 * 1) + (1 * 2) + (0 * 4) + (0 * 8) + (1 * 16) + (1 * 32) + (1 * 64)
= 0 + 2 + 0 + 0 + 16 + 32 + 64 = 114

الطريقة الثانية:
0 (المجموع السابق عند نقطة البداية)
(0 + 1) * 2 = 2
2 + 1 = 3
3 * 2 =6
6 + 1 =7
7 * 2 = 14
14 + 0 =14
14 * 2 = 28
28 + 0 =28
28 * 2 = 56
56 + 1 = 57
57 * 2 = 114

مثال 2: (11011)2 = (27)10

طريقة 1:
(0 * 2 0 ) + (1 * 2 1 ) + (0 * 2 2 ) + (1 * 2 3 ) + (1 * 2 4 )
= (1 * 1) + (1 * 2) + (0 * 4) + (1 * 8) + (1 * 16)
= 1 + 2 + 0 + 8 + 16 = 27

الطريقة الثانية:
(0 * 2) + 1 = 1
(1 * 2) + 1 = 3
(3 * 2) + 0 = 6
(6 * 2) + 1 = 13
(13 * 2) + 1 = 27

جدول مخطط التحويل العشري الثنائي

الثنائيةعدد عشري
000000011
000000102
000000113
000001004
000001015
000001106
000001117
000010008
000010019
0000101010
0000101111
0000110012
0000110113
0000111014
0000111115
0001000016
0001000117
0001001018
0001001119
0001010020
0001010121
0001011022
0001011123
0001100024
0001100125
0001101026
0001101127
0001110028
0001110129
0001111030
0001111131
0010000032
0010000133
0010001034
0010001135
0010010036
0010010137
0010011038
0010011139
0010100040
0010100141
0010101042
0010101143
0010110044
0010110145
0010111046
0010111147
0011000048
0011000149
0011001050
0011001151
0011010052
0011010153
0011011054
0011011155
0011100056
0011100157
0011101058
0011101159
0011110060
0011110161
0011111062
0011111163
0100000064
الثنائيةعدد عشري
0100000165
0100001066
0100001167
0100010068
0100010169
0100011070
0100011171
0100100072
0100100173
0100101074
0100101175
0100110076
0100110177
0100111078
0100111179
0101000080
0101000181
0101001082
0101001183
0101010084
0101010185
0101011086
0101011187
0101100088
0101100189
0101101090
0101101191
0101110092
0101110193
0101111094
0101111195
0110000096
0110000197
0110001098
0110001199
01100100100
01100101101
01100110102
01100111103
01101000104
01101001105
01101010106
01101011107
01101100108
01101101109
01101110110
01101111111
01110000112
01110001113
01110010114
01110011115
01110100116
01110101117
01110110118
01110111119
01111000120
01111001121
01111010122
01111011123
01111100124
01111101125
01111110126
01111111127
10000000128
الثنائيةعدد عشري
10000001129
10000010130
10000011131
10000100132
10000101133
10000110134
10000111135
10001000136
10001001137
10001010138
10001011139
10001100140
10001101141
10001110142
10001111143
10010000144
10010001145
10010010146
10010011147
10010100148
10010101149
10010110150
10010111151
10011000152
10011001153
10011010154
10011011155
10011100156
10011101157
10011110158
10011111159
10100000160
10100001161
10100010162
10100011163
10100100164
10100101165
10100110166
10100111167
10101000168
10101001169
10101010170
10101011171
10101100172
10101101173
10101110174
10101111175
10110000176
10110001177
10110010178
10110011179
10110100180
10110101181
10110110182
10110111183
10111000184
10111001185
10111010186
10111011187
10111100188
10111101189
10111110190
10111111191
11000000192
الثنائيةعدد عشري
11000001193
11000010194
11000011195
11000100196
11000101197
11000110198
11000111199
11001000200
11001001201
11001010202
11001011203
11001100204
11001101205
11001110206
11001111207
11010000208
11010001209
11010010210
11010011211
11010100212
11010101213
11010110214
11010111215
11011000216
11011001217
11011010218
11011011219
11011100220
11011101221
11011110222
11011111223
11100000224
11100001225
11100010226
11100011227
11100100228
11100101229
11100110230
11100111231
11101000232
11101001233
11101010234
11101011235
11101100236
11101101237
11101110238
11101111239
11110000240
11110001241
11110010242
11110011243
11110100244
11110101245
11110110246
11110111247
11111000248
11111001249
11111010250
11111011251
11111100252
11111101253
11111110254
11111111255
احدث التعليقات

(011011) 2 = (؟) 10 من فضلك أي شخص يعطيني هذه الإجابة

تحويل ثنائي إلى أعداد عشرية (10100011) 2

إذن هو 00000000: 0؟ لأننا نحتاج إلى 256 نتيجة لـ 8 بت

أجد العلامة العشرية في هذا ثم أحلها في كتابي. عمري 11 عامًا وأنا في الصف 7 ، المستوى الخامس

كم من الوقت يستغرق تحويل عدد ثنائي 4 ملايين بت إلى رقم عشري

شكرًا على كل ما قمت بتطويره وهو المساعدة في التحضير لامتحان الكمبيوتر الخاص بي غدًا

محول رائع ، لقد ساعدني في برمجة تطبيقي وترميزه ، وإلا فسيتعين علي الجلوس لساعات لتحويل النظام العشري إلى ثنائي والعكس صحيح ، :)

معلومات جيدة حقًا ، ادعم موقع الويب الخاص بك كثيرًا! استمر في العمل الرائع

لقد أحببت هذا الهروب عبر الإنترنت وأعتقد أنه كان ممتعًا في المكتبة

ظل محاضرتي يقول "صومعة ، صومعة ، صومعة". شعرت بالحيرة حتى جعلني هذا الموقع أدرك أنه كان يقول لا شيء! كل ذلك من المنطقي الآن :)

سيكون أفضل. إذا كان يوضح كيف أحسب. أعني الطريقة.
من الرياضيات الخاصة بي.


شاهد الفيديو: كتابة الكسر العشري على شكل عدد عشري. (شهر اكتوبر 2021).