Miklix

డైనమిక్స్ AX 2012లో అన్ని దశాంశాలతో రియల్‌ను స్ట్రింగ్‌గా మార్చండి.

ప్రచురణ: 16 ఫిబ్రవరి, 2025 10:41:25 AM UTCకి

ఈ వ్యాసంలో, డైనమిక్స్ AX 2012లో అన్ని దశాంశాలను భద్రపరుస్తూ ఫ్లోటింగ్ పాయింట్ సంఖ్యను స్ట్రింగ్‌గా ఎలా మార్చాలో నేను వివరిస్తాను, X++ కోడ్ ఉదాహరణతో సహా.


వీలైనంత ఎక్కువ మందికి అందుబాటులో ఉండేలా ఈ పేజీని ఇంగ్లీష్ నుండి యాంత్రికంగా అనువదించారు. దురదృష్టవశాత్తు, యాంత్రిక అనువాదం ఇంకా పరిపూర్ణమైన సాంకేతికత కాదు, కాబట్టి లోపాలు సంభవించవచ్చు. మీరు కోరుకుంటే, మీరు అసలు ఆంగ్ల సంస్కరణను ఇక్కడ చూడవచ్చు:

Convert a Real to String with All Decimals in Dynamics AX 2012

ఈ పోస్ట్‌లోని సమాచారం డైనమిక్స్ AX 2012 R3 ఆధారంగా రూపొందించబడింది. ఇది ఇతర వెర్షన్‌లకు చెల్లుబాటు కావచ్చు లేదా చెల్లకపోవచ్చు.

అప్పుడప్పుడు, నేను వాస్తవ సంఖ్యను స్ట్రింగ్‌గా మార్చాలి. సాధారణంగా, దానిని strFmt()కి పంపితే సరిపోతుంది, కానీ ఆ ఫంక్షన్ ఎల్లప్పుడూ రెండు దశాంశాలకు రౌండ్ అవుతుంది, అది ఎల్లప్పుడూ నేను కోరుకునేది కాదు.

తరువాత num2str() ఫంక్షన్ ఉంది, ఇది బాగా పనిచేస్తుంది, కానీ మీకు ఎన్ని దశాంశాలు మరియు అక్షరాలు కావాలో ముందుగానే తెలుసుకోవాలి.

మీరు ఆ సంఖ్యను అన్ని అంకెలు మరియు దశాంశాలతో కూడిన స్ట్రింగ్‌గా మార్చాలనుకుంటే ఏమి చేయాలి? ఏదో ఒక కారణం చేత, నేను దీన్ని ఎల్లప్పుడూ గూగుల్‌లో వెతుకుతున్నాను ఎందుకంటే ఇది ఆశ్చర్యకరంగా అస్పష్టంగా ఉంటుంది మరియు నేను దీన్ని చాలా అరుదుగా చేస్తాను, సాధారణంగా నాకు సరిగ్గా ఎలా గుర్తులేదు - చాలా ప్రోగ్రామింగ్ భాషలలో, మీరు రియల్‌ను ఖాళీ స్ట్రింగ్‌కు అనుసంధానించవచ్చని నేను ఆశిస్తాను, కానీ X++ దానిని సపోర్ట్ చేయదు.

ఏదేమైనా, దీన్ని చేయడానికి నేను కనుగొన్న అత్యంత సులభమైన మార్గం .NET కాల్‌ని ఉపయోగించడం. అధునాతన ఫార్మాటింగ్ కోసం ఎంపికలు ఉన్న మరియు లేని బహుళ ఎంపికలు ఇక్కడ కూడా ఉన్నాయి, కానీ మీరు రియల్‌ను స్ట్రింగ్‌గా నిజంగా సులభంగా మార్చాలనుకుంటే, ఇది సరిపోతుంది:

stringValue = System.Convert::ToString(realValue);

ఈ కోడ్‌ను AOSలో అమలు చేయాలంటే (ఉదాహరణకు బ్యాచ్ జాబ్‌లో), ముందుగా అవసరమైన కోడ్ యాక్సెస్ అనుమతిని నిర్ధారించడం గుర్తుంచుకోండి. ఈ సందర్భంలో .NET కోడ్‌ను కాల్ చేయడానికి మీకు ClrInterop రకం యొక్క InteropPermission అవసరం, కాబట్టి పూర్తి కోడ్ ఉదాహరణ ఇలా ఉంటుంది:

new InteropPermission(InteropKind::ClrInterop).assert();
stringValue = System.Convert::ToString(realValue);
CodeAccessPermission::revertAssert();

ఈ సరళమైన System::Convert ఫంక్షన్ దశాంశ బిందువు అక్షరానికి సంబంధించి సిస్టమ్ యొక్క ప్రస్తుత లొకేల్‌ను ఉపయోగిస్తుందని గుర్తుంచుకోండి. ఇది మీకు సమస్య కాకపోవచ్చు, కానీ దశాంశ విభాజకంగా పూర్ణ బిందువు కంటే కామాను ఉపయోగించే ప్రాంతంలో నివసించే నాకు, ఉదాహరణకు స్ట్రింగ్‌ను ఇతర సిస్టమ్‌లు చదవగలిగే ఫైల్‌లో ఉపయోగించాల్సిన అవసరం ఉంటే దానికి మరింత ప్రాసెసింగ్ అవసరం కావచ్చు.

బ్లూస్కీలో షేర్ చేయండిఫేస్‌బుక్‌లో షేర్ చేయండిలింక్డ్ఇన్‌లో షేర్ చేయండిTumblrలో షేర్ చేయండిX లో షేర్ చేయండిలింక్డ్ఇన్‌లో షేర్ చేయండిPinterestలో పిన్ చేయండి

మికెల్ బ్యాంగ్ క్రిస్టెన్సేన్

రచయిత గురుంచి

మికెల్ బ్యాంగ్ క్రిస్టెన్సేన్
మిక్కెల్ miklix.com సృష్టికర్త మరియు యజమాని. అతనికి ప్రొఫెషనల్ కంప్యూటర్ ప్రోగ్రామర్/సాఫ్ట్‌వేర్ డెవలపర్‌గా 20 సంవత్సరాలకు పైగా అనుభవం ఉంది మరియు ప్రస్తుతం ఒక పెద్ద యూరోపియన్ ఐటీ కార్పొరేషన్‌లో పూర్తి సమయం ఉద్యోగం చేస్తున్నాడు. బ్లాగింగ్ చేయనప్పుడు, అతను తన ఖాళీ సమయాన్ని విస్తృత శ్రేణి ఆసక్తులు, అభిరుచులు మరియు కార్యకలాపాలపై గడుపుతాడు, ఇవి కొంతవరకు ఈ వెబ్‌సైట్‌లో కవర్ చేయబడిన వివిధ అంశాలలో ప్రతిబింబిస్తాయి.