VBA డబుల్ | VBA లో డబుల్ డేటా రకాన్ని ఎలా ప్రకటించాలి?

ఎక్సెల్ VBA డబుల్ డేటా రకం

VBA డబుల్ వేరియబుల్స్ డిక్లేర్ చేయడానికి మేము కేటాయించే ఒక రకమైన డేటా రకం, ఇది “సింగిల్” డేటా టైప్ వేరియబుల్ యొక్క మెరుగైన లేదా పొడవైన వెర్షన్ మరియు సాధారణంగా ఎక్కువ దశాంశ స్థానాలను నిల్వ చేయడానికి ఉపయోగిస్తారు.

VBA ఇంటీజర్ డేటా రకం ఎల్లప్పుడూ దశాంశ విలువలను సమీప పూర్ణాంక విలువకు మారుస్తుంది, ఒకే డేటా రకం దశాంశ స్థానాల యొక్క రెండు అంకెలు వరకు చూపగలదు. మరోవైపు “డబుల్” డేటా రకం విలువలను నిల్వ చేయగలదు -1.79769313486231E308 నుండి -4.94065645841247E324 ప్రతికూల విలువల కోసం మరియు సానుకూల సంఖ్యల కోసం ఇది విలువలను నిల్వ చేస్తుంది 4.94065645841247E-324 నుండి 1.79769313486232E308.

మరీ ముఖ్యంగా, ఇది 8 బైట్ల మెమరీని వినియోగిస్తుంది.

VBA డబుల్ డేటా రకాన్ని ఉపయోగించడానికి ఉదాహరణలు

మీరు ఈ VBA డబుల్ ఎక్సెల్ మూసను ఇక్కడ డౌన్‌లోడ్ చేసుకోవచ్చు - VBA డబుల్ ఎక్సెల్ మూస

ఉదాహరణ # 1

“డబుల్” డేటా రకం యొక్క ఉదాహరణను చూడటానికి ముందు, VBA లోని “ఇంటీజర్” మరియు “సింగిల్” డేటా రకం యొక్క ఉదాహరణ కోడ్‌లను చూద్దాం. క్రింద ఉన్న VBA కోడ్ చూడండి.

కోడ్:

 సబ్ ఇంటెజర్_ఎక్స్ () డిమ్ కె యాస్ ఇంటీజర్ k = 2.569999947164 MsgBox k ఎండ్ సబ్ 

నేను వేరియబుల్ “k” ను పూర్ణాంకంగా ప్రకటించాను మరియు ఈ వేరియబుల్ కోసం, నేను విలువను 2.569999947164 గా కేటాయించాను.

VBA లోని సందేశ పెట్టెలో తుది విలువను చూడటానికి ఈ కోడ్‌ను మాన్యువల్‌గా లేదా ఎక్సెల్ సత్వరమార్గం కీ F5 ని ఉపయోగిద్దాం.

సరఫరా చేయబడిన 2.569999947164 కు బదులుగా ఫలితం 3 గా చూపబడుతోంది. కారణం VBA ఈ సంఖ్యను సమీప పూర్ణాంక విలువకు మార్చింది.

దశాంశ విలువ 0.5 కంటే ఎక్కువగా ఉన్నప్పుడు అది తదుపరి పూర్ణాంక విలువకు మారుతుంది మరియు దశాంశ విలువ 0.51 కన్నా తక్కువగా ఉన్నప్పుడు పూర్ణాంక విలువ కంటే తక్కువగా మారుతుంది.

ఇప్పుడు నేను డేటా రకాన్ని ఇంటీజర్ నుండి సింగిల్‌కు మారుస్తాను.

కోడ్:

 సబ్ ఇంటెజర్_ఎక్స్ () డిమ్ కె సింగిల్ k = 2.569999947164 MsgBox k ఎండ్ సబ్ 

సత్వరమార్గం కీ F5 ద్వారా కోడ్‌ను అమలు చేయండి మరియు ఈ సమయంలో మనకు ఏ సంఖ్య లభిస్తుందో చూడండి.

ఈసారి ఫలితం 2.57 గా వచ్చింది, కాబట్టి ఈసారి మాకు రెండు దశాంశ స్థానాలు వచ్చాయి. మేము కేటాయించిన అసలు విలువ 2.569999947164, కాబట్టి ఈ సందర్భంలో, మూడవది, ఉంచిన దశాంశ విలువ 9, కాబట్టి ఇది 5 కన్నా ఎక్కువ కనుక ఇది రెండవ స్థానంలో ఉన్న దశాంశ విలువను 6 కు 7 గా మార్చింది.

ఇప్పుడు డేటా రకాన్ని సింగిల్ నుండి డబుల్ గా మార్చండి.

కోడ్:

 సబ్ ఇంటీజర్_ఎక్స్ () డిమ్ కె యాస్ డబుల్ k = 2.569999947164 MsgBox k ఎండ్ సబ్ 

ఇప్పుడు కోడ్‌ను మాన్యువల్‌గా రన్ చేయండి మరియు మెసేజ్ బాక్స్ ఫలితంలో మనకు ఎన్ని అంకెలు వస్తాయో చూడండి.

ఈ సమయం అన్ని దశాంశ విలువలను పొందింది. మేము డబుల్ డేటా రకం క్రింద దశాంశ స్థానాల 14 అంకెలు వరకు సరఫరా చేయవచ్చు.

మీరు 14 దశాంశ స్థానం కంటే ఎక్కువ విలువను సరఫరా చేస్తే సమీప విలువకు మార్చబడుతుంది. ఉదాహరణ కోసం క్రింది చిత్రాన్ని చూడండి.

నేను 14 కి బదులుగా 15 దశాంశ స్థానాలను టైప్ చేసాను, నేను ఎంటర్ కీని నొక్కితే అది 14 అంకెలకు మాత్రమే తిరిగి వస్తుంది.

59 (చివరి రెండు అంకెలు) కు బదులుగా, మనకు 6 వచ్చింది, చివరి అంకె 9 కనుక ఇది 5 మునుపటి సంఖ్య 5 కన్నా ఎక్కువ, తదుపరి పూర్ణాంక విలువకు మార్చబడుతుంది, అంటే 6

ఉదాహరణ # 2

ఇప్పుడు నేను వర్క్‌షీట్‌లో సెల్ రిఫరెన్స్‌తో ఎలా పని చేయాలో చూపిస్తాను. వర్క్‌షీట్‌లో నేను నమోదు చేసిన సంఖ్యలు క్రింద ఉన్నాయి.

అదే విలువలను ఉపయోగించడం ద్వారా తదుపరిదానికి సంగ్రహించడం ప్రారంభిద్దాం పూర్ణ సంఖ్య సమాచార తరహా, సింగిల్ డేటా రకం, మరియు డబుల్ టైప్ చేయండి.

INTEGER డేటా రకాన్ని ఉపయోగించి కాలమ్ A నుండి B వరకు విలువలను నిలుపుకునే కోడ్ క్రింద ఉంది.

కోడ్:

 K = 1 నుండి 6 సెల్వాల్యూ = కణాలు (k, 1) కోసం విలువ డబుల్_ఎక్స్ () డిమ్ k పూర్ణాంకంగా మసకబారిన సెల్ విలువ. విలువ కణాలు (k, 2). విలువ = సెల్ విలువ తదుపరి k ముగింపు ఉప 

కాలమ్ B లో మనకు ఏ విలువలు లభిస్తాయో చూడటానికి సత్వరమార్గం కీ F5 ద్వారా కోడ్‌ను రన్ చేద్దాం.

మేము పూర్ణాంకాన్ని డేటా రకంగా ఉపయోగించినప్పుడు మనకు మొత్తం సంఖ్యలు వచ్చాయి, అంటే దశాంశాలు లేకుండా.

ఇప్పుడు నేను వేరియబుల్ యొక్క vba డేటా రకాన్ని పూర్ణాంకం నుండి సింగిల్‌కు మారుస్తాను.

కోడ్:

 ఉప డబుల్_ఎక్స్ () డిమ్ కె ఇంటీజర్ డిమ్ సెల్వాల్యూగా సి = 1 నుండి 6 సెల్వాల్యూ = కణాలు (కె, 1) .విలువ కణాలు (కె, 2) .వాల్యూ = సెల్వాల్యూ నెక్స్ట్ కె ఎండ్ సబ్ 

ఈ కోడ్ క్రింది ఫలితాన్ని ఇస్తుంది.

ఈసారి మాకు రెండు దశాంశ స్థానాలు మాత్రమే వచ్చాయి.

ఇప్పుడు డేటా రకాన్ని సింగిల్ నుండి డబుల్ గా మారుస్తుంది.

కోడ్:

 ఉప డబుల్_ఎక్స్ () డిమ్ కె ఇంటీజర్ డిమ్ సెల్వాల్యూగా డబుల్ గా k = 1 నుండి 6 సెల్వాల్యూ = కణాలు (కె, 1) .వాల్యూ సెల్స్ (కె, 2) .వాల్యూ = సెల్వాల్యూ నెక్స్ట్ కె ఎండ్ సబ్ 

ఇది క్రింది ఫలితాన్ని అందిస్తుంది.

కాలమ్ A నుండి మాకు ఖచ్చితమైన విలువలు వచ్చాయి.

గుర్తుంచుకోవలసిన విషయాలు

  • డబుల్ అనేది సింగిల్ డేటా రకం యొక్క మెరుగైన డేటా రకం.
  • ఇది 14 దశాంశ స్థానాలను కలిగి ఉంటుంది.
  • ఇది సిస్టమ్ మెమరీ యొక్క 8 బైట్లను వినియోగిస్తుంది.